我曾尝试将Entity Framework 4和POCO用于我的MVC 3项目。可能是,我不明白这个ORM的主要思想,但问题是:
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吗?
答案 0 :(得分:2)
您可以将部分类放在另一个文件夹中并修改名称空间。
答案 1 :(得分:2)
首先,您不必在POCO中编写CRUD, 在edmx.cs文件中有许多地方可以执行此操作,或者再编写一个层,该层称为CRUD服务,它使用上下文对象处理数据库操作。
现在回答你的问题,
创建单独的Models文件夹并将Model类放在那里。 您的Model类可能喜欢这个,
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;
}
现在您可以将此模型与您的视图绑定。
答案 2 :(得分:2)
我同意allisewell,但是如果你真的想要为部分类添加部件,请给文件另一个名字, 例如MyPoco.Part2.cs或修改t4模板以命名生成的文件 例如Poco.Generated.cs