gpt4 book ai didi

entity-framework - Poco+Entity Framework 4. 我应该在哪里添加使用 Poco 类的方法?

转载 作者:行者123 更新时间:2023-12-04 07:25:51 26 4
gpt4 key购买 nike

我已尝试将 Entity Framework 4 和 POCO 用于我的 MVC 3 项目。可能是,我不明白这个ORM的主要思想,但问题如下:

  1. 我添加了 ADO .NET 实体数据模型并根据数据库制作模型。
  2. 我点击了添加代码生成项并添加了 ADO .NET POCO 实体生成器。
  3. 它为每个数据库表创建类。
  4. 我想添加一些方法来处理数据(添加、更新、删除、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 服务,它使用上下文对象处理数据库操作。

现在回答你的问题,

  1. 创建单独的模型文件夹并将模型类放在其中。您的模型类可能会喜欢这样,

    EmployeeDepartmentModel
    {
    prop EmpList List(Emp);
    prop DeptList List(Dept);
    //Emp and Dept are my POCOs
    }
  2. 所以现在我必须填写这两个列表(您的 CRUD 问题),为此,我将在 Controller 类中创建一个方法(最好在其他库中编写此类逻辑,但暂时我建议您在 Controller 中创建),

    FillTheModel()
    {
    EmployeeDepartmentModel.EmpList = EDMX.GetAllEmployees;
    EmployeeDepartmentModel.DeptList = EDMX.GetAllDepartments;
    }
  3. 现在您可以将此模型与您的 View 绑定(bind)。

关于entity-framework - Poco+Entity Framework 4. 我应该在哪里添加使用 Poco 类的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5599713/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com