2009-11-20 231 views
7

我有一个数据库,其中包含活动订单和非活动订单的表。我想在Entity Framework中将其作为一个名为Orders的实体进行建模。我还需要一种方法来确定此集合中的某个订单是否处于活动状态,最好是根据所在的表所设置的实体的状态属性。是否有使用实体框架进行此操作的功能1.什么是关于实体框架4?实体框架将多个表映射到一个实体

回答

5

看看每个具体类型继承的表。
在ADO.NET团队博客中描述here

+0

这似乎不是我所需要的。在这个例子中,他们制造了一个独立的DiscontinuedProducts实体。我想使用一个Order实体,但它包含来自两个不同表的数据。 – 2009-11-30 16:31:11

+0

尝试定义查询方法。 使用UNION书写定义查询并添加一个表达式列来返回订单类型。请确保主键类型一致。 如果您需要机会修改实体,请编写必要的修改功能。为此,您可以使用CommandText,或者将过程写入数据库。 – Devart 2009-12-01 13:21:13

0

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

1

我认为这是你在找什么:How to: Define a Model with Multiple Entity Sets per Type (Entity Framework)

“实体数据模型(EDM)允许实体类型由多个实体被列入设置一个单一的实体容器内或一个实体类型为包含在多个实体容器中的实体集中,每个类型定义多个实体集(MEST)允许用户在数据库进行分区或其他多个表具有相同结构的情况下简化其代码。

+0

我以前看过这篇文章。但是这并不能完全满足我的需求。尽管Customer实体包含CustomerWest和CustomerEast表中的数据,但您不能稍后再回顾并查看客户并确定其区域。在我的情况下,我需要一种方法来查看订单并判断它是否有效。 – 2009-12-04 05:05:55

6

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