[英]Relationship on the basis of Condition in Entity Framework Code First
我需要在三个实体Party
- Organization Party
- Person
之间建立关系
但是一次,聚会将是下面的组织或人。
conditionalRelations: {
PartyTypeCode: {
"1": { entity: "Person" },
"2": { entity: "Organization" }
}
}
如果party type为1,则关联将为Party ->Person
。
如果方类型为2,则关系将为方Party-> Organization
。
我需要在ASP.NET
MVC4 scaffolding
配置此关系。(实体框架代码优先)
自从我执行EF Code First以来已经有一段时间了,但是我相信这应该(或多或少)能够成功(因为这是您要创建的新数据库):
abstract class Party {
int Field1 {get;set;}
int Field2 {get;set;}
virtual ICollection<PartyType1Party> Parties {get;}
}
class Person {
string Name {get;set;}
int Age {get;set;}
}
class OrganizationParty {
int Something {get;set;}
int OtherThing {get;set;}
virtual ICollection<PartyType2Party> Parties {get;}
}
class PartyType1Party : Party {
Person OrganizerOrSomeRandomPropertyName {get;set;}
}
class PartyType2Party : Party {
OrganizationPart Organization {get;set;}
}
class Context : DbContext {
DbSet<Party> Parties {get;set;}
DbSet<Person> Persons {get;set;}
DbSet<OrganizationParty> OrganizationParties {get;set;}
}
与其手动跟踪类型1和类型2的各方,不如让EF为您处理(通过您所处理的类)。 如果您已经有一个现有数据库并且需要遵循它的原则,那么我不知道如何解决它(尽管我前一段时间做了类似的事情,但我不记得如何)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.