Sql server 2008 EF 4.1 POCO映射通用表
我有两个“实体”表:Provider和User。提供商和用户都可以有多个地址(发货、计费等) 而不是把地址信息放在每个实体表中,我想创建一个它们都通用的表:地址表。例如,我研究了如何创建一个地址表,其中包含主键(标识列)、实体类型(提供者或用户)、实体键(父实体表的主键)和地址类型(发货等),以及必要的地址信息 我遇到的一个问题是外键约束。如果我有一个与地址行相关的父实体表中的外键,那么我在尝试插入数据时发现外键冲突 我正在考虑删除表中的FK,然后在EF 4.1上创建手动映射,但我不知道如何才能做到这一点: (这是表的图像-地址表中的objectid包含userid或providerid,objecttype是一个varchar,可以是“USER”或“PROV”) 我怎样才能避开这件事?我希望使用一个表来表示地址,但如果在另一个父级上没有相关行,则无法为一个父级添加子级。当然,我希望继续使用外键来实现引用完整性Sql server 2008 EF 4.1 POCO映射通用表,sql-server-2008,entity-framework-4.1,Sql Server 2008,Entity Framework 4.1,我有两个“实体”表:Provider和User。提供商和用户都可以有多个地址(发货、计费等) 而不是把地址信息放在每个实体表中,我想创建一个它们都通用的表:地址表。例如,我研究了如何创建一个地址表,其中包含主键(标识列)、实体类型(提供者或用户)、实体键(父实体表的主键)和地址类型(发货等),以及必要的地址信息 我遇到的一个问题是外键约束。如果我有一个与地址行相关的父实体表中的外键,那么我在尝试插入数据时发现外键冲突 我正在考虑删除表中的FK,然后在EF 4.1上创建手动映射,但我不知道如何才能
谢谢这是一种非常常见的情况
[Provider table]
ProviderID (PK)
AddressID
[User table]
UserID (PK)
AddressID
[Address table]
AddressID (PK)
Street1
Street2....
进入provider表并将FK从provider.addressID添加到Address.addressID
进入Users表并将FK从User.addressID添加到Address.addressID
这应该行得通,不会违反FK。Losbear,您的方案还可以,但这不会让我有多个提供商或用户地址,对吗?