2009-11-20 203 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

您可以在您的數據庫中創建一個視圖並從中生成實體。