Я думаю, что это будет легко (знаменитые последние слова), но я новичок в EF7, а код First Concept в целом и .NET 5 и EF7 на данный момент относительно новичок, так что там еще мало. Я преобразую проект из старой школы ASP 2.0 в .net 5, и я воссоздаю всю структуру базы данных, чтобы кодовые первые миграции для меня - хороший выбор для меня здесь. Я в основном отслеживаю рекламу «Хит -счет» по месяцам и году. Я хочу поместить уникальный индекс в рекламе «AdvertisementId», «Год», месяц », и я, конечно, знаю, как это сделать в SQL, но EF-код сначала кричит на меня так, как я делаю: < /p>
public class Advertisement
{
public int ID { get; set; }
[Required]
public string ImageURL { get; set; }
[Required]
public string DestinationURL { get; set; }
//....Removing other fields you don't care about
}
public class AdvertisementHistory
{
public int ID { get; set; }
[Required]
public Advertisement Advertisement { get; set; }
[Required]
public int Year { get; set; }
[Required]
public int Month { get; set; }
[Required]
public int Clicked { get; set; }
//....Removing other fields you don't care about
}
public class ApplicationDbContext : IdentityDbContext
{
public DbSet Advertisements { get; set; }
public DbSet AdvertisementHistory { get; set; }
//...Removing other classes you don't care about
protected override void OnModelCreating(ModelBuilder builder)
{
base.OnModelCreating(builder);
builder.Entity()
.HasIndex(p => new { p.Advertisement, p.Year, p.Month })
.IsUnique();
}
}
< /code>
Затем я разбиваю командное окно, так как у нас нет консоли проекта для .net 5 ef7: < /p>
cmd> dnx ef Migration /> {......... .INDEX CALL Все работает нормально, и он генерирует код, чтобы сделать правильный индекс (хотя и плохо, так как мне нужен идентификатор рекламы). Но это означает, что это определенно связано с тем, что я использую поле в своем индексе, который является иностранным ключом. Я попробовал кучу различных вариантов и аннотаций на классах, но ничто не дает мне чистой миграции. Вот почему я думаю, что мне не хватает чего -то очень простого, так как это не необычная концепция.>
Подробнее здесь: https://stackoverflow.com/questions/358 ... field-that
Добавление индекса в Entity Framework 7 с кодом первые миграции в поле, которое является иностранным ключом ⇐ C#
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение