实体框架将多个表映射到一个实体

时间:2009-11-20 17:30:06

标签: entity-framework

我有一个数据库,其中有一个表用于活动订单,一个用于非活动订单。我想在Entity Framework中将其建模为一个名为Orders的实体。我还需要一种方法来确定此集合中的订单是否处于活动状态,最好是通过在实体上设置状态属性,该属性是根据它所在的表设置的。无论如何使用实体框架1来执行此操作。关于实体框架4?

5 个答案:

答案 0 :(得分:6)

您可以在数据库中创建一个视图并从中生成实体。

答案 1 :(得分:5)

查看Table Per Concrete Type继承。
在ADO.NET团队博客中描述了here

答案 2 :(得分:1)

我认为这正是您所寻找的:How to: Define a Model with Multiple Entity Sets per Type (Entity Framework)

“实体数据模型(EDM)允许实体类型由单个实体容器内的多个实体集包含,或者实体类型包含在多个实体容器中的实体集中。每种类型定义多个实体集( MEST)允许用户在数据库具有分区或其他多个表具有相同结构的场景时简化其代码。“

答案 3 :(得分:0)

如果我正确理解你,活动和非活动订单将共享相同的属性(例如:两者都有一个小数“amount”属性)如果是这种情况那么在EF 1中,我很确定这不是可能。我认为你将不得不回到将实体映射到POCO Orders对象。

答案 4 :(得分:0)

一个共享多个表的实体的好方法是使用实体拆分。 MSDN有一个非常简单的教程,可以指导您完成整个过程非常简单,但是,您可能需要重塑数据模型:http://msdn.microsoft.com/en-us/data/jj715646.aspx