2010-10-28 68 views
0

我有一個包含大約160個表的數據庫(這是一個震撼!我認爲它有大約50 ...)。
我們使用沒有DAL的代碼庫,並且我們想要開始使用MS Entity Framework(這是.NET中最新,最熱門的東西,對嗎?),所以我們可以使用Linq和其他最先進的3前幾年的東西。使用MS實體框架生成一個複雜的數據庫模型

我試圖自動生成整個數據庫模型,但它似乎是使用和修改的噩夢。例如,它有一些不自動鏈接的表格(也許在一些區域缺少數據庫模型)。

然後我試圖分別生成數據庫的每個「區域」,但有兩點困擾我。

首先,它需要一個不同的連接字符串爲每個模型。 WTF。另外,我們有不同數據庫的客戶,在30個客戶端維護10個連接字符串將是一場噩夢。

其次,它似乎無法鏈接到其他模型中的類。也許我只是沒有找到它?大約有10-15個「模塊」,其中大部分連接在一起,這將打敗統一DAL的目的之一。例如,我們有一個「文件」表,鏈接到聯繫人,技術支持,產品,網絡等。我們仍然可以使用這些ID,但它有點令人傷心。

那麼,你會怎麼做?一個巨大的模型非常複雜的創建和維護;或幾個較小的,更容易更新,但在日常使用上稍微複雜一些?你使用什麼,有什麼好處和壞處?

回答

2

首先,對連接字符串,是的,每個模型確實需要它自己的連接字符串,因爲它是一個EntityConnection它不僅包含有關如何連接到數據庫,但也是關於如何找到3信息的信息部分模型在運行時(即SSDL,CSDLMSL)。因此,在使用一個數據庫時,即使數據庫連接字符串部分也是相同的,但每個模型的零件都不相同,這就是爲什麼您需要它們都在那裏。

其次,你做得對,有一個包含所有實體的大型EDM不是一個好的做法,不推薦。 This post包含有關如何將數據庫表分成不同模型的原因以及一些準則的詳細討論。

相關問題