2009-09-10 116 views
3

如果我想使用對象並利用LINQ to SQL什麼(如果有的話),我需要添加到我的實體類,以確保我的應用程序可以與數據存儲區交談? (不要在這裏討論存儲庫模式,因爲我只是在尋找我的業務對象中需要的內容)LINQ to SQL支持POCO嗎?

回答

7

除了使用LINQ-to-SQL設計器並讓它爲您創建「幾乎POCO」類(用一堆映射屬性裝飾)之外,還可以使用外部映射XML文件(很像NHibernate )來實現相同的功能,從而使您可以支持「真正的POCO」類,而不需要任何附加屬性或任何其他屬性。

在這裏看到更多的信息:

馬克

1

Linq to SQL爲您從數據存儲中選擇的每個表或存儲過程創建一個POCO類,因此只要您對這些創建的類的風格滿意,就不需要添加其他任何東西。

您的實體類將需要一個DataContext對象。該對象通過生成的Linq to SQL類提供對數據存儲的所有表的訪問。

一個很好的介紹到LINQ的使用情況,SQL可以在這裏找到: http://weblogs.asp.net/scottgu/archive/2007/05/19/using-linq-to-sql-part-1.aspx

+1

不知道他想要的LINQ to SQL創建任何東西,我認爲他想將其與現有的業務對象一起使用。 – mxmissile 2009-09-10 19:54:49

+0

是的 - 他們不是真正的POCO,因爲他們需要歸功。 – 2009-09-10 19:58:42

+1

您不必使用屬性。您可以改用XmlMappingProvider。 – jrummell 2009-09-10 20:00:45

3

的LINQ to SQL將創建一個(幾乎)POCO類每個表或存儲過程。然而,它們不是純粹的POCO類別,因爲它們仍然需要歸屬,至少具有[Table]屬性。

有關詳情,請參閱MSDN

供參考:實體框架4將增加對POCO類的支持。

+0

理解,我試圖比較NHibernate需要什麼和LINQ to SQL需要什麼(忽略L2S不是真正的ORM) - 只是爲了獲得一些觀點。 – 2009-09-10 20:03:54

相關問題