2017-02-14 2 views
0

Как я могу получить EF для создания базы данных из следующего класса правильным способом? Есть ли способ архивировать это только с атрибутами DataAnnotation?Создайте несколько классов самостоятельной референции в Entity Framework

public class Item 
{ 
    [Key] 
    public long ItemId { get; set; } 
    ... 
    public virtual ICollection<Item> PrevItems { get; set; } 
    public virtual ICollection<Item> NextItems { get; set; } 
} 

ответ

0

Вслед было мое решение:

  1. Создать класс конфигурации:

    public ItemConfiguration() 
    { 
        this.HasMany(x => x.NextItems) 
         .WithMany(x => x.PrevItems) 
         .Map(x => x.ToTable("RelatedItems")); 
    } 
    
  2. Override OnModelCreating в DbContext

    protected override void OnModelCreating(DbModelBuilder modelBuilder) 
    { 
        modelBuilder.Configurations.Add(new ItemConfiguration()); 
    } 
    

Я не уверен, что это на 100% правильно, но, похоже, это работает.

Если кто-то знает, как архивировать это только с атрибутами DataAnnotation, я был бы рад узнать!

Смежные вопросы