public class MyEntity
{
public int MyEntityID { get; set; }
public int Foo { get; set; }
public ICollection<MyEntityDetail> MyEntityDetails { get; set; }
}
public class MyEntityDetail
{
[Key, Column(Order=0)]
public int PK { get; set; } // this will be the MyEntityID from MyEntity
[Key, Column(Order = 1)]
public int OtherPK { get; set; } // this will be manually set
public string Bar { get; set; }
}
public class MyEntityContext : DbContext
{
public DbSet<MyEntity> MyEntities { get; set; }
public DbSet<MyEntityDetail> MyEntityDetails { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
}
}
Я думаю, что приведенный выше код объясняет, чего я пытаюсь достичь с помощью кода инфраструктуры объектов. 4.2. Обратите внимание, что MyEntityDetail не содержит свойства навигации для MyEntity.Как я могу связать MyEntityID из MyEntity в PK из MyEntityDetail ??если мне нужно, я могу добавить свойство навигации MyEntity в класс MyEntityDetail, но я не хочу использовать дополнительную память для свойства, к которому у меня никогда нет доступа.и этот тип объектов будет использоваться более 100 раз в моем проекте.спасибо