使用外键和类型字段的实体框架映射

时间:2014-03-12 17:14:39

标签: entity-framework

这是我面临的问题的简化版本。基本上,我有一个现有的数据库,代码优先的实体框架,并有几个表,我看到一个ObjectId和ObjectType字段。根据ObjectType,表可以连接到不共享层次结构的其他几个不同表中的一个。

例如,给定以下数据库表:

CREATE TABLE BarCode
(
Id int NOT NULL PRIMARY KEY,
ObjectType int NOT NULL,
ObjectId int NOT NULL,
BarCodeValue varchar(20) NOT NULL,
)

CREATE TABLE Person
(
Id int NOT NULL PRIMARY KEY,
Name varchar(20),
)

CREATE TABLE Package
(
Id int NOT NULL PRIMARY KEY,
Name varchar(20),
)

我可能会在BarCode表中看到ObjectType为1的行,它们对应于Person记录,或者ObjectType为2的行,它们对应于Package记录。

在Entity Framework中,如何设置映射,以便Person实体可以拥有BarCode,而Package实体可以拥有条形码?我没有看到Map()方法允许您指定除外键字段以外的任何字段的位置。就像我说的那样,这些对象之间确实没有层次结构,它们共享一个共同的属性。有点像用界面装饰一个类而不是从某个东西继承它。

0 个答案:

没有答案