2010-03-07 69 views
0

使用LINQ to SQL可以加快應用程序開發速度,但會消除應用程序中的邏輯層。數據訪問層和業務對象層幾乎沒有身份,他們坐在同一個dll中。有沒有人有關於如何使用LINQ to SQL開發企業級應用程序的想法。我們如何幹淨地分離業務對象和LINQ生成的實體?他們如何溝通,數據如何在我們的業務對象和LINQ實體之間傳輸。任何文章或任何建議,將不勝感激。謝謝。使用LINQ開發企業級應用程序

回答

2

我們將L2S用於管理我們工廠運營和相關應用的下一代軟件。這是一個價值25億美元的薄膜太陽能公司。我們已經建立了一個明確定義的基於L2S的n層應用程序框架。

我們還創建了我們自己的代碼生成器來生成實體的應用程序集,L2S實體集,業務邏輯層和數據訪問層。 L2S實體集僅用於後端使用。應用程序實體(沒有內置L2S管道)用於從應用程序向服務器傳輸數據。我們使用WCF進行應用層到服務器層的通信。

我們的應用程序使用WCF調用後端總線邏輯層進行數據處理。業務邏輯層調用我們的數據訪問層以進行基於Linq的低級數據訪問。我們的應用程序實體被傳遞到後端。在後端,我們有非常高效的映射將應用程序實體映射到每個L2S實體。

適合我們。

蘭迪

0

你可以走得很遠與L2S(如StackOverflow上已經證明),但恕我直言LINQ2SQL是不適合(也不打算,我認爲)的「企業級應用」。

現在,實體框架4.0已經發布,你可能要考慮與EF轉而​​代之。它支持POCO,可以讓你擁有更好的分層架構。

退房:

The ADO.NET Entity Framework

ADO.NET C# POCO Entity Generator

我最近從移植L2S大量的代碼基礎,EF 4.0。由於EF現在支持延遲加載,因此您可以非常順利地從L2S轉換到EF,只在需要時才利用EF的高級功能。

相關問題