4

我一直在使用 Linq-to-SQL 来访问我的数据库。但最近有人告诉我,这种做法并不是最好的,因为它允许混合数据访问和业务逻辑层。

我听说 Entity Framework T4 POCO 是一个解决方案,但我找不到有关它的完整信息。有没有人有更多细节可以和我分享?

提前致谢

4

3 回答 3

1

POCO(普通旧 CLR 对象)的作用是它允许您创建自己的数据库表示类。然后,实体框架将您的数据库(通过配置(提示使用 edmx 文件))转换为您创建的 POCO 类。

例子:

表用户:

id | fName | lName | otherField

您可以在 C# 中使用 POCO 将其表示为具有以下属性的用户对象:

int id, string fName, string lName, var otherField.

然后,您可以在这些属性的 getter 和 setter 中插入您的业务逻辑。

注意:我建议只使用带有 edmx 文件的实体框架 icm。并将您的业务逻辑放在其他地方。创建 Web 服务时,我总是喜欢以下类的顺序:

  • 接收调用并调用下一个类的正确函数的类
  • 然后这个类将调用中的给定参数转换为应用程序的其余部分可以理解的格式,并调用另一个类的正确函数。
  • 然后这个类检查参数中的业务逻辑并调用另一个类对数据库做一些事情。
  • 然后这个类处理数据库连接和东西(使用实体框架)再次注意:您也可以在最后一步中使用 POCO;)
于 2012-04-12T08:08:45.693 回答
0

我发现这个网站提供了一个很好的例子,说明如何将 EF4 与 POCO 类一起使用。

http://weblogs.asp.net/scottgu/archive/2010/07/16/code-first-development-with-entity-framework-4.aspx

这描述了实体框架 4 的“代码优先”方法

于 2012-04-12T08:14:25.180 回答
0

请参阅:实体框架 - 生成类

有一个教程如何通过现有数据库生成 POCO 类。

于 2012-04-12T23:09:58.710 回答