【问题标题】:Why would an Entity Framework model generator not create code for a table when I selected it?当我选择一个表时,为什么实体框架模型生成器不会为它创建代码?
【发布时间】:2010-03-04 14:21:34
【问题描述】:

我有 Visual Studio 2008

  • 我可以在 SQL Server 2005 数据库中的现有表上创建实体框架模型。
  • 我可以在本地 SQL Server 2008 数据库文件中的我创建的表上创建实体框架模型。

但是,当我添加一个新表到 SQL Server 2005 数据库,然后尝试在其上创建一个实体框架模型时,它让我点击 表格旁边的小复选框并完成,但 .edmx/...Designer.cs 文件 仅包含四种方法,但与表格无关我选择的,就好像我没有选择它一样。

  • 什么可能导致我选择的表上没有生成代码?
  • 在哪里可以找到有关尝试为此表创建代码的错误消息?

【问题讨论】:

    标签: sql-server sql-server-2005 entity-framework sql-server-2008


    【解决方案1】:

    0) 我想,你之前已经添加然后删除了这个表。在这种情况下,您应该打开模型文件(Designer.cs),删除所有与此表相关的记录(手动),然后刷新模型。

    1) 也许你有多对多的关系表。在这种情况下,EF 决定不添加“链接”表。

    2) 也许你有一个只有两个字段的表(PK 和 FK 到另一个)。在这种情况下,EF 也会这样做。

    3) 稍后将 SP 安装到 VS 和框架。

    4) 检查连接字符串。

    【讨论】:

    • 谢谢,但它甚至不适用于最简单的表格,例如Id (PK)、FirstName varchar(50)、LastName FirstName varchar(50)
    • 我想,你之前已经删除了这张表。在这种情况下,您应该打开模型文件,删除所有与此表相关的记录(手动),然后刷新模型。
    • 这很奇怪,因为它是一个新数据库和新表:我只能想象它有某种权限问题,允许它在列表中显示表,但无法获取其架构等。
    • 更新:当我将新表添加到现有数据库时,它会起作用,所以我创建的新数据库中似乎有某种设置,我没有进行导致实体即使您检查它们是否包含在模型中,框架也不会为该数据库中的任何表生成类
    • 是的,你是对的。您可以在表格列表中检查新表格(您的模型没有)。 EF 不会自动添加新的。没关系。您的模型不是所有表格的短板。您可以使用某些表格或视图,也可以不使用。 (如果我理解你的话)。
    猜你喜欢
    • 1970-01-01
    • 2016-10-16
    • 1970-01-01
    • 2011-09-02
    • 1970-01-01
    • 2013-07-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多