LINQ生成的类是POCO吗?

gr8qqesn  于 2022-12-06  发布在  其他
关注(0)|答案(3)|浏览(142)

由LINQ(DBML)生成的类被认为是POCO吗?如果我向这些类添加静态查询,它们仍然是POCO吗?
我想,一旦我开始在LINQ部分中做一些商业事情,比如添加其他属性、创建集合以及基本上使部分比DAL类更多,情况就会发生变化。
如果LINQ类是POCO,另一个示例是什么?

6yjfywim

6yjfywim1#

好吧,它们至少不会继承任何特殊的基类。而且您可以简单地删除其中的大多数代码-- LINQ-to-SQL不需要任何代码。但是请注意,这样做会失去许多增强功能,例如更有效的更改跟踪(没有属性更改事件)和延迟关系加载。
更重要的是,如果它们为你所需要的而工作,谁会在乎别人是否认为它们是POCO呢?至于在数据对象上添加你自己的行为......这就是对象的用途。POCO并不意味着没有行为,它只是意味着对象不是太“奇怪”,或者没有大量特定于框架的代码(比如需要特殊的基类,特殊的接口等等)。

7uzetpgm

7uzetpgm2#

简单地说,答案是否定的。LINQ to SQL生成的类包含数据库持久性逻辑,LINQ to SQL需要这些逻辑才能正常工作。POCO by definition没有这样的代码。

r55awzrz

r55awzrz3#

我会说not。Linq to SQL设计器生成的类中有相当多的智能。

相关问题