[英]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.