Entity Framework 4 CTP 5 POCO - 在托管环境上使用现有但空的 SQL 数据库?

发布于 2024-10-12 13:59:16 字数 616 浏览 6 评论 0原文

我将 EF 4 CTP 5 与 MVC 3 应用程序一起使用,一切都在我的本地计算机上正常工作,其中 EF 4 只需在需要时创建或删除 SQL CE,因为我已将选项设置为 DropCreateDatabaseIfModelChanges< /代码>。但我现在尝试将我的 mvc 应用程序部署到托管环境,我已经在其中创建了数据库,但数据库是空的。似乎代码无法删除,并在我的托管环境中重新创建数据库,我应该如何解决这个问题?

更新:

这是 SQLEXPRESS 的连接字符串:

<add name="KennySax"
     connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;
                       database=KennySax;
                       AttachDBFilename=|DataDirectory|KennySax.mdf;
                       User Instance=true"
     providerName="System.Data.SqlClient" />

谢谢。

I'm using EF 4 CTP 5 with an MVC 3 application, everything is working fine on my local machine, where EF 4 just create or drop the SQL CE whenever it needs to, since I have set the option to DropCreateDatabaseIfModelChanges. But I'm now trying to deploy my mvc application to a hosting environment, where I've created the database already, but the database is empty. It seems like the code can't drop, and recreate the database on my hosting environment, how should I solve this problem?

Update:

Here's the connection string to SQLEXPRESS:

<add name="KennySax"
     connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;
                       database=KennySax;
                       AttachDBFilename=|DataDirectory|KennySax.mdf;
                       User Instance=true"
     providerName="System.Data.SqlClient" />

Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

淡笑忘祈一世凡恋 2024-10-19 13:59:16

另一种选择是使用 Joachim Lykke Andersen 的 DontDropDbJustCreateTablesIfModelChanged 数据库初始化程序

如果模型更改,它会删除并重新创建表

他甚至有一个 NuGet 包为了它

One other option is to use Joachim Lykke Andersen's DontDropDbJustCreateTablesIfModelChanged database initializer

It deletes and re-creates the tables if the model changes

He even has a NuGet package for it

将军与妓 2024-10-19 13:59:16

通常,您在托管环境中运行的应用程序没有修改数据库结构的权限。因此,您可以在自己的环境中运行应用程序并使用 Management studio 连接到 SQL CE。然后从数据库生成 SQL 脚本并在托管环境中手动运行该脚本。我希望它可以与 SQL CE 一起使用 - 它肯定可以与 SQL Express 一起使用。

Usually your running application in hosting environment doesn't have permissinons to modify DB structure. So you can run your application in your own environment and use Management studio to connect to SQL CE. Then generate SQL script from your DB and manually run that script in hosted environment. I hope it works with SQL CE - it will definitely work with SQL Express.

谈场末日恋爱 2024-10-19 13:59:16

好吧,我不确定我做了什么,似乎重新启动机器解决了问题。我能够让 SQLEXPRESS 创建数据库并在托管服务器上运行脚本。谢谢。

Well I'm not sure what I did, seems like a restart of the machine solved the problem. I was able to have SQLEXPRESS create the database and run the script on the hosting server. Thanks.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文