Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.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 2008 Entity Framework 4.0未从Sql Server 2008 Express R2数据库导入我的关联_Sql Server 2008_Entity Framework 4_Associations_Sql Server Express - Fatal编程技术网

Sql server 2008 Entity Framework 4.0未从Sql Server 2008 Express R2数据库导入我的关联

Sql server 2008 Entity Framework 4.0未从Sql Server 2008 Express R2数据库导入我的关联,sql-server-2008,entity-framework-4,associations,sql-server-express,Sql Server 2008,Entity Framework 4,Associations,Sql Server Express,我正在尝试在VS2010项目中使用Entity Framework 4.0。我一直使用LINQtoSQL来完成我的项目,并取得了巨大的成功,我想尝试使用EF4进行改变。不幸的是,当我完成将EF4模型添加到项目中的步骤时,没有创建任何关联 以下是我的步骤: 在VS2010解决方案资源管理器中右键单击我的项目 单击添加=>New Item 选择“ADO.NET实体数据模型” 选择“从数据库生成” 连接到我的SQL 2008 Express R2数据库 检查“表格”项 检查生成的对象名称是否为复数或单

我正在尝试在VS2010项目中使用Entity Framework 4.0。我一直使用LINQtoSQL来完成我的项目,并取得了巨大的成功,我想尝试使用EF4进行改变。不幸的是,当我完成将EF4模型添加到项目中的步骤时,没有创建任何关联

以下是我的步骤:

  • 在VS2010解决方案资源管理器中右键单击我的项目
  • 单击添加=>New Item
  • 选择“ADO.NET实体数据模型”
  • 选择“从数据库生成”
  • 连接到我的SQL 2008 Express R2数据库
  • 检查“表格”项
  • 检查生成的对象名称是否为复数或单数
  • 选中“在模型中包含外键列”
  • 点击完成 我看到了我所有的表,但它们之间没有任何关联。当使用“Linq到SQL类”项时,我的所有关联都会按预期生成。即使在EF4设置过程中我将其简化为只包含两个(关联)表,关联仍然不会显示

    我曾尝试通过EF数据模型设计器手动添加关联,但在调试项目时会生成其他错误。这些错误表明我的命名数据库关联未在数据库中正确配置

    更新:我认为这是EF4的一个bug,但似乎我在约束/关联中遗漏了一些东西。我将从头开始重建一些表,看看这是否有帮助。我的数据库是从SQLCE3.5转换而来的,所以我可能错过了一些东西


    谢谢

    我以为这是EF4的一个bug,但似乎我在约束/关联中遗漏了一些东西。我从头开始重建了一些表,解决了我的问题。

    这不是EF4的错误。在过去的两个月里,我大概做了50次,效果很好。问题是您的数据库(很可能)。是否可以为具有关联的两个表显示数据库架构/创建表脚本?是否绝对确定数据库已设置FK约束?尝试在SQLManagementStudio关系图中添加一些表,看看它是否能在那里识别它们。创建两个新表,两个表都带有PK,一个表与另一个表之间带有FK。将这些添加到EDMX,关联应该在那里。好的,这很有帮助。谢谢,我将使用SQL2008ManagementStudio浏览我的每个数据库表(~20),看看发生了什么。这是一个旧的SQL CE 3.5数据库,我将其转换为SQL Express 2008 R2。在这个过程中,我做了很多尝试/错误的事情,担心我可能会在这个过程中搞砸一些限制。谢谢你的提示。