【问题标题】:Entity Framework 4.0 is not Importing my Associations from Sql Server 2008 Express R2 databaseEntity Framework 4.0 没有从 Sql Server 2008 Express R2 数据库导入我的关联
【发布时间】:2013-08-01 04:33:20
【问题描述】:

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

这是我的步骤:

  1. 在VS2010解决方案资源管理器中右键我的项目
  2. 点击添加 => 新建项目...
  3. 选择“ADO.NET 实体数据模型”
  4. 选择“从数据库生成”
  5. 连接到我的 SQL 2008 Express R2 数据库
  6. 检查“表”项
    1. 已检查生成的对象名称的复数或单数化
    2. 在模型中包含外键列已选中
  7. 点击完成!

我看到了我的所有表格,但它们之间没有任何关联。当使用“Linq to SQL Classes”项时,我的所有关联都会按我的预期生成。即使我在 EF4 设置过程中将其简化为仅包含两个(关联)表,关联仍然不显示。

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

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

谢谢

【问题讨论】:

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

标签: sql-server-2008 entity-framework-4 associations sql-server-express


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-11
    • 1970-01-01
    • 2010-09-22
    • 1970-01-01
    相关资源
    最近更新 更多