1

LINQ (DBML) 生成的类是否被视为 POCO?如果我向这些类添加静态查询,它们仍然是 POCO 吗?

我想一旦我开始在 LINQ 部分中做生意,它就会改变。例如添加其他属性,创建集合,基本上使部分比 DAL 类更多。

如果 LINQ 类是 POCO,那么另一个例子是什么?

4

3 回答 3

0

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

于 2009-02-10T23:20:59.927 回答
0

好吧,它们至少没有继承任何特殊的基类。那里的大部分代码都可以简单地删除——LINQ-to-SQL 不需要任何代码。但请注意,这样做会失去许多增强功能,例如更有效的更改跟踪(没有属性更改事件)和延迟加载关系。

更重要的是,如果有人为您的需要工作,谁会在乎他们是否认为他们 POCO?至于将您自己的行为添加到数据对象……这就是对象的用途。POCO 并不意味着没有行为,它只是意味着对象不是太“奇怪”或具有大量特定于框架的代码(例如需要特殊的基类、特殊的接口等)

于 2009-02-11T02:27:34.110 回答
0

最简洁的答案是不。LINQ to SQL 生成的类包含数据库持久性逻辑,这是 LINQ to SQL 正常工作所必需的。根据定义, POCO没有这样的代码。

于 2009-02-11T02:38:44.600 回答