Те же типы навигации еще один в EF 4.1 - PullRequest
0 голосов
/ 08 апреля 2011

Я немного смущен отношениями ниже сущностей.Потому что он держит отношение пользователя один, более чем.Я чувствую, что что-то не так.Что-то не так с этим?

public class Subject: Entity
{
    public Advert()
    {
        CreateDate = DateTime.Now;
    }
    public virtual User Owner{ get; set; }
    public virtual List<User> Voters{ get; set; }
    public virtual List<User> Followers{ get; set; }
}

1 Ответ

2 голосов
/ 08 апреля 2011

Я не уверен, будет ли это применяться к вашим спискам, которые должны быть ICollections для стандартов EF CodeFirst.

Вы также можете использовать наследование, чтобы различать пользователей разных типов или иметь разные объекты для подписчиков и избирателей.

Вам необходимо отобразить это с помощью WithMany ()

это позволит вам указать иностранный ключ для отношения

http://weblogs.asp.net/manavi/archive/2011/01/23/associations-in-ef-code-first-ctp5-part-3-one-to-one-foreign-key-associations.aspx

protected override void OnModelCreating(ModelBuilder modelBuilder)
{
    modelBuilder.Entity<User>()
                .HasRequired(a => a.BillingAddress)
                .WithMany()
                .HasForeignKey(u => u.BillingAddressId);

    modelBuilder.Entity<User>()
                .HasRequired(a => a.DeliveryAddress)
                .WithMany()
                .HasForeignKey(u => u.DeliveryAddressId);
}
...