Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 当我选择实体框架模型生成器时,它为什么不为表创建代码?_Sql Server_Sql Server 2005_Entity Framework_Sql Server 2008 - Fatal编程技术网

Sql server 当我选择实体框架模型生成器时,它为什么不为表创建代码?

Sql server 当我选择实体框架模型生成器时,它为什么不为表创建代码?,sql-server,sql-server-2005,entity-framework,sql-server-2008,Sql Server,Sql Server 2005,Entity Framework,Sql Server 2008,我有Visual Studio 2008: 我可以在SQL Server2005数据库中的现有表上创建实体框架模型 我可以在本地SQL Server2008数据库文件中创建的表上创建实体框架模型 但是,当我向SQL Server2005数据库添加一个新表时,然后尝试在其上创建实体框架模型,它允许我单击表旁边的小复选框并完成,但是.edmx/…Designer.cs文件只包含四种方法,而与我选择的表无关,就好像我没有选择它一样 是什么原因导致我选择的表上无法生成代码? 在哪里可以查找有关尝试

我有Visual Studio 2008:

  • 我可以在SQL Server2005数据库中的现有表上创建实体框架模型
  • 我可以在本地SQL Server2008数据库文件中创建的表上创建实体框架模型
但是,当我向SQL Server2005数据库添加一个新表时,然后尝试在其上创建实体框架模型,它允许我单击表旁边的小复选框并完成,但是.edmx/…Designer.cs文件只包含四种方法,而与我选择的表无关,就好像我没有选择它一样

  • 是什么原因导致我选择的表上无法生成代码?
  • 在哪里可以查找有关尝试为此表创建代码的错误消息?
0)我认为,您以前添加并删除过此表。在这种情况下,您应该打开模型文件(Designer.cs),删除所有与表相关的记录(手动),然后刷新模型

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

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

3) 稍后将SP安装到VS和framework

4) 检查连接字符串。

0)我认为,您以前添加并删除过此表。在这种情况下,您应该打开模型文件(Designer.cs),删除所有与表相关的记录(手动),然后刷新模型

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

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

3) 稍后将SP安装到VS和framework


4) 检查连接字符串。

谢谢,但它甚至不适用于最简单的表,例如Id(PK)、FirstName varchar(50)、LastName FirstName varchar(50)。我想,您以前删除过此表。在这种情况下,您应该打开模型文件,删除所有与表相关的记录(手动),然后刷新模型。这很奇怪,因为它是一个新数据库和新表:我只能想象它有某种权限问题,允许它在列表中显示表,但不获取其架构,etc.update:当我向现有数据库中添加一个新表时,它就工作了,因此在我创建的新数据库中似乎存在某种设置,我没有进行设置,这导致Entity Framework不会为该数据库中的任何表生成类,即使在您检查这些表是否包含在模型中之后也是如此。是的,您是对的。您可以检查表列表中的新表(您的模型没有的表)。EF不会自动添加新的。没关系。您的模型不是所有表的快照。您可以使用一些表或视图,也可以不使用。(如果我理解你的话)。谢谢,但它甚至不适用于最简单的表,例如Id(PK)、FirstName varchar(50)、LastName FirstName varchar(50)。我想,你以前删除过这个表。在这种情况下,您应该打开模型文件,删除所有与表相关的记录(手动),然后刷新模型。这很奇怪,因为它是一个新数据库和新表:我只能想象它有某种权限问题,允许它在列表中显示表,但不获取其架构,etc.update:当我向现有数据库中添加一个新表时,它就工作了,因此在我创建的新数据库中似乎存在某种设置,我没有进行设置,这导致Entity Framework不会为该数据库中的任何表生成类,即使在您检查这些表是否包含在模型中之后也是如此。是的,您是对的。您可以检查表列表中的新表(您的模型没有的表)。EF不会自动添加新的。没关系。您的模型不是所有表的快照。您可以使用一些表或视图,也可以不使用。(如果我理解你的话)。