LINQ to SQL是否支持POCO?

时间:2009-09-10 19:47:55

标签: linq-to-sql

如果我想使用一个对象并利用LINQ to SQL,我需要添加什么(如果有的话)我的实体类以确保我的应用程序可以与数据存储通信? (在这里不要讨论存储库模式,因为我只是在寻找业务对象中需要的内容)

3 个答案:

答案 0 :(得分:7)

除了使用LINQ-to-SQL设计器并让它为你创建“几乎POCO”类(用一堆映射属性装饰)之外,你还可以使用外部映射XML文件(很像NHibernate)实现同样的目的,从而允许你支持“真正的POCO”类,没有任何额外的属性或任何东西。

有关详细信息,请参阅此处:

马克

答案 1 :(得分:3)

LINQ to SQL将为每个表或存储过程创建一个(几乎)POCO类。然而,它们不是纯粹的POCO类,因为它们仍然需要归因于[Table]属性的最小值。

有关详细信息,请参阅MSDN

仅供参考:实体框架4将增加对POCO类的支持。

答案 2 :(得分:1)

Linq to SQL为您从数据存储中选择的每个表或存储过程创建一个POCO类,因此只要您对这些创建的类的样式感到满意,就不需要添加任何其他内容。

您的实体类需要一个DataContext对象。此对象通过生成的Linq to SQL类提供对数据存储的所有表的访问。

可以在此处找到Linq to SQL使用的一个很好的介绍: http://weblogs.asp.net/scottgu/archive/2007/05/19/using-linq-to-sql-part-1.aspx