2012-04-13 44 views
0

我有5個不同的edmx文件,每個包含許多表(大約40)。
現在我要添加相同的類型引用屬性的一些表奠定了這些不同的edmxs。例如,假設在EDMX1我有工人實體,在EDMX2我有客戶實體,在EDMX3我有供應商實體等。現在我想將對Location實體的引用添加到Worker,Customer和Supplier。我可以將Location表添加到每個edmx並進行代碼重複。但就我而言,我有許多共同的實體,而不僅僅是位置。實際上,我更喜歡把所有常見實體都集成到一個不同的edmx中,並對每個其他edmx執行類似「繼承」的操作,這些edmx具有引用了公共實體的實體。這樣的事情可能嗎?如果是這樣 - 如何?如果不是 - 這種情況的常見解決方案是什麼?edmx文件之間的繼承

回答

0

否。如果您使用的是EDMX文件,而不是每個文件都是自包含的。

使用EDMX時,EF中的重複使用類型有very limited support。首先它在設計師中不受支持。它也僅在CSDL中受支持。所以這意味着您可以擁有多個CSDL部分(實體定義),其中一個CSDL文檔可以與另一個CSDL文檔中的實體建立關係(但這種關係只能是單向的),但您只能擁有一個SSDL(數據庫定義)和MSL映射定義)文件。

此刻,每個EDMX文件都代表單獨的CSDL,MSL和SSDL文檔,因此無法輕鬆轉換爲該場景。

這是代碼映射(無EDMX)的好方案。

+0

所有edmx的使用相同的數據庫。另外,我只需要單向關係(位置不應該以客戶爲例)。搜索什麼以查找如何使用CSDL實現此目的?代碼映射(沒有EDMX)是什麼? – Naor 2012-04-13 12:51:51

+0

該鏈接提供瞭如何使用它的方法(這只是使用一個巨大的EDMX文件更復雜的方式)。代碼映射=代碼第一。 – 2012-04-13 12:53:30

+0

謝謝!這種方法是否允許將每個edmx放在saperate項目中? – Naor 2012-04-13 14:49:51