【问题标题】:After adding .edmx file what is the need to add `Code generation item`?添加 .edmx 文件后,需要添加“代码生成项”吗?
【发布时间】:2012-04-26 12:12:45
【问题描述】:

我正在开发 mvc3 应用程序。

我想知道一些具体的答案:

添加.edmx文件后需要添加Code generation item like Poco , dbContext 等。

请解释一下。

【问题讨论】:

    标签: asp.net asp.net-mvc asp.net-mvc-3 entity-framework


    【解决方案1】:

    代码生成项将为您提供 POCO。 http://msdn.microsoft.com/en-us/library/dd456853.aspx

    它将创建您可以在应用程序中使用的对象(类)。

    本文对帮助您使用 dbcontext tt 创建 POCO 非常有用。

    http://blogs.msdn.com/b/adonet/archive/2011/03/15/ef-4-1-model-amp-database-first-walkthrough.aspx

    【讨论】:

    • 没必要。您可以创建自己可以使用的类。但是这个 tt 会根据数据库中的表为您执行此操作。换句话说,每次您添加或删除表时,它都会为您完成工作,只需重建 tt。
    • dbContext 代码生成器是您的 POCO 生成器。它将创建两个文件。一个是包含 POCO 的 .tt 文件,另一个是 context.tt,它定义了 POCO 的创建方式。 context.tt 文件可以通过您的 edmx 进行配置(例如延迟加载等)。 DBContext 基于旧的 ObjectContext,但 POCO 更简单。
    • @AshwinChandran ,为什么不能将 Model.edmx 节点移动到 Models 文件夹?代码生成项会为此文件夹中已存在的内容创建副本。
    【解决方案2】:

    生成像 Poco 这样的代码为您提供与您的数据库(表)匹配的类

    示例:包含两个表(Person 和 Child)的数据库

    在您的 ItemPoco 中,您将有两个类 Person 和 Child。 在此类中,它们的属性是您的 Column 的表。

    【讨论】:

    • 您可以使用包含您的行的对象从数据库中获取数据。示例:EMPLOYEE 员工 = (from emp in EMPLOYEES where id == 1 select emp).FirstOrResult(); employee 将成为 POCO 创建的对象,因此您可以轻松使用它。
    猜你喜欢
    • 1970-01-01
    • 2018-06-07
    • 2023-02-03
    • 1970-01-01
    • 2021-10-09
    • 1970-01-01
    • 1970-01-01
    • 2017-05-06
    • 1970-01-01
    相关资源
    最近更新 更多