无外键创建一对多关联

时间:2015-03-31 22:29:59

标签: c# sql-server entity-framework one-to-many

给出以下表格。

Project
Id: int not null PK
Type: nvarchar(10) not null 
SomeProperty: nvarchar(50)

ChangeRequest
Id: int not null PK
Type: nvarchar(10) not nul
SomeProperty: nvarchar(50)

Approval
Id: int not null PK
RowId: int not null
RowType: nvarchar(10) not null
SomeProperty: nvarchar(50)

我希望有这样的联想:

  • 项目(Id,类型) - >批准(RowId,RowType)
  • ChangeRequest(Id,Type) - >批准(RowId,RowType)

在某种程度上,如果我从数据库中选择数据,我会做类似的事情:

select p*, a.*
from Project p
left join Approval a on a.RowId = p.Id and a.RowType = p.Type

Project和ChangeRequest是完全不同的实体(我只是简化模型),但两者都可能有0..N批准。

是否可以使用Entity Framework映射此类关系?

0 个答案:

没有答案