我已尝试将 Entity Framework 4 和 POCO 用于我的 MVC 3 项目。可能是,我不明白这个ORM的主要思想,但问题如下:
- 我添加了 ADO .NET 实体数据模型并根据数据库制作模型。
- 我点击了添加代码生成项并添加了 ADO .NET POCO 实体生成器。
- 它为每个数据库表创建类。
- 我想添加一些方法来处理数据(添加、更新、删除、GetAll 等)到适当的模型。 对于 LINQTOSQL,我添加了部分类并将它们放置到模型中。但现在我不能这样做,因为:
a) Models 文件夹中有同名的类,由 POCO 创建。
b) 如果我将部分类放在另一个文件夹中,它将是另一个命名空间 - 因此,这样的类将不是部分类。
c) 如果我将我的代码放在 POCO 类中,它可能会在更新 POCO 期间被销毁。
我该如何使用它?我应该把我的数据工作方法放在哪里? 是为 POCO 和 EF 制作其他项目的最佳方式 - http://blogs.msdn.com/b/adonet/archive/2010/01/25/walkthrough-poco-template-for-the-entity-framework.aspx ?
最佳答案
首先,您不必在 POCO 中编写 CRUD, 有很多地方你可以像在 edmx.cs 文件中那样做,或者再写一层,称为 CRUD 服务,它使用上下文对象处理数据库操作。
现在回答你的问题,
创建单独的模型文件夹并将模型类放在其中。 您的模型类可能会喜欢这样,
EmployeeDepartmentModel { prop EmpList List(Emp); prop DeptList List(Dept); //Emp and Dept are my POCOs }
所以现在我必须填写这两个列表(您的 CRUD 问题), 为此,我将在 Controller 类中创建一个方法(最好在其他库中编写此类逻辑,但暂时我建议您在 Controller 中创建),
FillTheModel() { EmployeeDepartmentModel.EmpList = EDMX.GetAllEmployees; EmployeeDepartmentModel.DeptList = EDMX.GetAllDepartments; }
现在您可以将此模型与您的 View 绑定(bind)。
关于entity-framework - Poco+Entity Framework 4. 我应该在哪里添加使用 Poco 类的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5599713/