2009-09-10 128 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

相关问题