我被困在这里。
是否可以将实体框架4中的2个不同表格中的数据映射到1个实体。
我在一张桌子上有一堆员工,而在另一张桌子里我有一些项目信息。 我想在一个实体中组合这两个表,并保留跟踪功能等,这可能吗?
我不想使用函数导入,而只是通过实体模型来完成。
任何人都可以提供帮助 - 当我尝试这样做时,我会一直收到以下错误:
错误3024:从第2354行开始映射片段时出现问题:必须指定EntitySet MyProjectTable的所有关键属性(MyProjectTable.PSInitials,MyProjectTable.ProjectID)的映射。
两个键都映射到它们各自的表。 新实体是使用MyProjectTable作为基础。
2个表之间的关系是1 - *
希望你能提供帮助。
/基督教
答案 0 :(得分:6)
您无法将具有一对多关系的两个表映射到一个实体。如果您不希望将结果投影到代码中的一个对象中,请考虑创建一个视图并将其映射。
根据http://msdn.microsoft.com/en-us/library/bb896233.aspx
您应该只将实体类型映射到 多个表如果以下 条件是真的:
您要映射的表共享一个公用密钥。
正在映射的实体类型中包含每个类型的条目 基础表。换一种说法, 实体类型代表数据 这两者之间有一对一的对应关系 表;实体类型代表一个 两个表的内连接。
答案 1 :(得分:1)
这样做的原因非常简单 - 例如,一个数据点表,它们都有五种“类型”之一。显然,为了规范化,'type'将是一个单独的表,但从应用程序的角度来看(使用数据),将所有属性放在一个实体中会更有意义。
所以我们不能用Entity Framework做这个 - 假设的Object-Relational-Mapper。那么,使用这样一个框架的重点是什么呢?