Есть база данных с двумя таблицами: Users и Followers. Для доступам к данным используется EF Core 2.1, модели данных представлены ниже
public class Follower
{
public int Id{get;set;}
public User CurrentUser{get;set;}
public int CurrentUserId{get;set;}
public User PickedUser{get;set;}
public int PickedUserId{get;set;}
}
public class User
{
public int Id{get;set;}
public virtual ICollection<Follower> Following { get; set;}
public virtual ICollection<Follower> Followers {get;set;}
}
При создании модели используется следующая конфигурация
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<User>().HasKey(u => u.Id);
modelBuilder.Entity<Follower>().HasKey(u => u.Id);
modelBuilder.Entity<Follower>().HasOne(s=>s.CurrentUser).WithMany(u=>u.Following).HasForeignKey(s=>s.CurrentUserId).HasPrincipalKey(u=>u.Id);
modelBuilder.Entity<Follower>().HasOne(s=>s.PickedUser).WithMany(u=>u.Followers).HasForeignKey(s=>s.PickedUserId).HasPrincipalKey(u=>u.Id);
}
Список подписчиков работает, но с одним нареканием: можно подписаться несколько раз
При попытке сделать поле уникальным через HasIndex() выбрасывается исключение.
modelBuilder.Entity<Follower>().HasIndex(f => new {f.CurrentUser , f.PickedUser}).IsUnique();
Вопрос: Как сделать комбинацию внешних ключей уникальной?
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Есть несколько блоков с одинаковым классом, по тыку срабатывает функция, которая сравнивает текст блока с полем из таблицы в бд, и после выборки...
У меня есть кнопка, на которой вести функция: <div class="btn btn-v-1" style="margin-top:30px" type="text" onclick='SaveCountry();'>Upload</div> Как сделать, чтоб если функция отработала...
как сравнить текущую строку и ту, которая появляется на ее месте при ajax запросеВ частности я хочу реализовать такой механизм, который будет...