【问题标题】:Entity Framework 4 + SQL Server CE + Generate database from modelEntity Framework 4 + SQL Server CE + 从模型生成数据库
【发布时间】:2009-12-10 10:52:19
【问题描述】:

标题总结了我的问题。我从VS2010 beta2中的一个空模型开始,然后选择从模型生成我的数据库,然后我选择创建一个新的SQL CE数据库。直到那一刻,一切都运行良好。 EF 生成一些 SQL 并将其保存为 MyModel.emdx.sql。问题来了,生成的 SQL 无法在 CE 数据库上执行并抛出一些错误消息,例如“不支持 ALTER TABLE”和其他一些错误消息。 我认为没有办法首先使用 SQL CE 数据库执行模型,所以我回到了数据库优先方法。或者有没有人成功地从VS2010中的edmx模型生成SQL CE数据库?

【问题讨论】:

  • 你能生成一个常规的 SQL Server DB,然后以某种方式将它移植到 CE 吗?
  • 我不确定这是否比仅使用数据库的第一条路线更容易。我也可以尝试编辑生成的 SQL,或者只是手动在 CE 中重新创建数据库结构,这并不理想,但由于数据库只有 3 个表,会更快。
  • 嘿 Gio2k!你有什么成功的吗?我这边也有类似的问题,只是我使用的是 VS2008 Pro

标签: entity-framework visual-studio-2010


【解决方案1】:

我刚刚针对 SQL CE 数据库运行了 MyModel.edmx.sql 脚本,它执行时没有出现错误。我使用的是 VS 2010 RC,所以我怀疑您遇到的问题与 Beta 2 版本有关。我的结论是问题已在 RC 中得到解决

【讨论】:

    【解决方案2】:

    当您第一次从模型生成数据库... 时,您将在 App.Config 中创建一个连接。如果您最初创建了一个非 CE 连接,您将生成非 CE SQL,并且它会如您所描述的那样获得一个 .sql 扩展名(如果您的连接是到 CE,您将在 DDL 文件上获得一个 .sqlce 扩展名)。

    您需要从 App.Config 中删除连接字符串,并可能从 Project -> Properties -> DataSources 中删除数据源。然后当你选择Generate Database from Model...时,它会要求创建一个新的连接,你可以选择CE连接而不是服务器连接。

    【讨论】:

      猜你喜欢
      • 2011-05-30
      • 2011-04-09
      • 2011-07-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-30
      相关资源
      最近更新 更多