我在我的 .net MVC 项目中使用实体框架作为 ORM。我已经实现了存储库模式(通用)来获取/保存/更新/删除 DAO(数据访问对象)。我也有包含所有业务逻辑的业务对象。例如,我有一个名为 Student 的 DAO 和一个名为 Student 的 BO(业务对象)。BO 包含逻辑,DAO 只是存储在 DB 中的数据。现在我想知道学生存储库是否应该返回业务对象而不是 DAO?我可以通过在从 Repository.Get() 返回之前将 DAO 转换为业务对象来使用 Automapper 来实现这一点。与所有其他方法相同。但这是一个好习惯吗?
更新
我有一个数据访问层项目和一个业务逻辑项目。实体框架在部分类中创建其实体(到数据访问项目中),因此我实际上可以使用其他部分类扩展实体,但问题是我在业务项目中引用了数据访问项目并且我无权访问数据访问项目中的逻辑代码。所以我必须将逻辑放在业务项目中,但由于不可能在两个项目上创建部分类,我必须采取另一种方式......或者你知道如何更好地构建和解决问题方法?