1

我在我的应用程序中使用 ADO.NET Entity Framework 作为数据访问层,但我不确定应该将业务逻辑放在哪里。是否有任何可用的最佳实践或示例来说明如何将业务逻辑与 Entity Framework 实体集成?

编辑后:
我想要在 BLL 中执行计算、安全性、规则和其他内容的任何示例......任何文章和示例..!

4

3 回答 3

7

您应该有一个业务层(一个单独的项目引用您的数据访问层,或者至少是您的业务对象所在的某种目录)。这些业务对象应该是直接与您的 DAL 对话的业务对象。换句话说,不要在 DAL 上实现业务逻辑,因为它不属于那里。

我相信你以前看过这张图:

在此处输入图像描述

于 2011-12-03T16:38:21.130 回答
3

我不会将您的业务逻辑/规则放在实体框架中 - 它用作数据访问层。我将创建一个单独的业务逻辑项目(类库),它可以调用您的数据访问层来获取/设置数据并在此过程中强制执行业务规则,这样您就可以在数据访问层发生变化时重用规则。

于 2011-12-03T16:40:01.060 回答
2

您可以将实体用作业务对象。实现业务逻辑msdn 库文章解释了如何做到这一点。如果您点击链接,您会发现在属性更改和保存更改期间适合业务逻辑的代码示例。

请记住,您可以使用具有自定义业务逻辑的部分类来扩展 EF。

“ADO.NET 实体框架包含一个工具,给定 EDM 架构,它将生成代表 .NET 环境中 EDM 实体的 .NET 类。生成的类是部分类,因此可以使用自定义业务逻辑对其进行扩展在单独的文件中,而不会干扰代码生成器。”

自定义对象msdn 文章也涵盖了这个主题。

在富 Internet 应用程序 (RIA) 的 n 层解决方案上,您可以将业务逻辑添加到域服务

于 2011-12-03T17:35:42.263 回答