2009-11-29 82 views
1

我想基於我的域結構指定實體名稱空間。 通常這樣的:EntityFramework或LinqToSql實體命名空間

Infrastructure.SqlServer

  • 客戶(NS:Infrastructure.SqlServer.Customers)
    • 客戶
    • 地址
  • 產品(NS:基礎設施。 SqlServer.Products)
    • 產品
    • ProductVariant
    • 產品分類

我怎麼能做到這一點與LinqToSql或的EntityFramework?看來,我們只能指定一個獨特的「實體名稱空間」,如Infrastructure.SqlServer.Entities

謝謝。

回答

0

我已經在我們的應用程序中完成了這項工作。我們的實體名稱空間基於我們的SQL Server架構。每個名稱空間都在它自己的DBML中。不幸的是,L2S不能建立跨.DBML文件的關係,但我們已經在一定程度上解決了這個問題。

蘭迪

1

這可能與EF,但我不會推薦它。

問題是你必須進入EDMX並手動編輯XML(即讓設計師)在EDMX文件的CSDL部分內創建多個模式。

絕對不值得在我看來的麻煩。

亞歷

0

那麼你可以通過消除在每個你不需要的表創建了數據庫架構不同的模型。您可以使用L2S或實體框架來完成此操作。我猜這不是你的意思。您無法在查詢中包含來自兩個模型的實體。

你可能想什麼...

大多數人怎樣維護原因這樣做;即將模型分成模塊化塊。我自己嘗試了很多。如果您堅持不懈,有一篇文章here。手動編輯詳細的EDMX文件 目前非常笨拙且容易出錯。如果你問的是你想要的分割的總體程度,那可能很好。如果你擁有更多的分割模式,你可能會覺得它太痛苦了。

這對許多人來說顯然是令人滿意的功能,並且對於典型的企業數據庫使用這種功能是必需的。從長遠來看,這可能是固定的,但現在我的建議是解決這個問題。 要完成LinqToSQL不支持以任何方式分割模型。

相關問題