采用以下伪代码数据库
table Foo
{
FooID int not null,
name varchar not null
}
table Bar
{
BarID int not null,
name varchar not null
}
table Waa
{
WaaID int not null,
name varchar not null
}
table Link
{
LinkID int not null,
FooID int null,
BarID int null,
WaaID int null,
Description varchar not null
}
Link表的目的是允许我在一个表中将实体链接在一起,而不需要多个Foo_Bar_Link
,Foo_Waa_Link
等表。
我在EntityFramework v5中修改了这个数据库。因此,我希望能够指定Foo
和Link
之间的一对多关系,以便我可以获得与给定Foo关联的所有链接。
问题
EntityFramework Designer仅允许外键不为空的一对多关系。我希望Foo有一个导航属性Associations
,它可以获得Association
个FooID = Foo.FooID
个实体。请注意,我正在使用Designer。
答案 0 :(得分:3)
EF并非旨在支持像您这样的特殊型号。我知道的唯一方法是插入“空”意思行,例如id等于-1
。在商业逻辑或DTO中实现“聪明”的getter和setter。