实体框架 4.1 代码优先冻结

发布于 2024-11-23 17:17:34 字数 564 浏览 3 评论 0原文

我在计算机上运行 EF 4.1 时遇到问题。看来我的数据库设置有问题。我正在尝试这个简单的演练: http:// /blogs.msdn.com/b/adonet/archive/2011/03/15/ef-4-1-code-first-walkthrough.aspx

但是当它到达db.Categories.Add(食物);它只是冻结了。

我安装了普通的 SQL Server 2008 R2,而不是 SQL Express。创建 .mdf 文件而不是直接连接到本地 SQL 服务器似乎也存在一些问题。

我还尝试添加带有数据库连接的实体模型,但这似乎不起作用。有没有人给我指点一下。

感谢您的回答:)

编辑: 我现在得到一个 System.Data.ProviderInknownException 并显示“Vendor returned no ProviderMaifestToken-string”

I'm having trouble getting EF 4.1 working on my computer. It seems to be some problem with my database settings. I was trying out this simple walkthrough:
http://blogs.msdn.com/b/adonet/archive/2011/03/15/ef-4-1-code-first-walkthrough.aspx

But when it reaches db.Categories.Add(food); it just freeze.

I have a normal SQL Server 2008 R2 installed, not SQL Express. There also seems to be some problems with creating .mdf files instead of a direct connection to the localhost SQL server.

I've also tried adding an entity model with a database connection, but this does not seem to work. Do anyone have any pointers for me.

Thanks for any answers :)

edit:
I now get a System.Data.ProviderIncompatibleException with "Vendor returned no ProviderMaifestToken-string"

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

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

发布评论

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

评论(3

墨落画卷 2024-11-30 17:17:34

我猜这是因为数据库重新初始化。
如果您的 EF 代码尝试在 SQL Management Studion 打开或连接的情况下删除并创建数据库。
出现这种情况。

I guess this is because Database Re-Initialization.
If your EF code try to drop and create database with SQL Management Studion open or connected.
This situation comes up.

再见回来 2024-11-30 17:17:34

我发现了问题。这些教程不包含有关使其发挥作用所需的一些重要调整的信息。

1) 您的应用程序必须有一个 App.config,其中包含一个与从 DbContext 继承的类同名的连接字符串。就我而言“TestEF_CF.ProductContext”。

2) 数据库在使用前不能创建。只需将初始目录设置为您希望实体框架在自动创建数据库时创建的名称。

一旦我这样做了,它就正常工作了。我在第一步中取得了进一步的进展,但当我尝试保存到数据库时出现异常。当 EF 自动创建数据库时,一切工作正常。

在我的开发环境中可能造成更多问题的一件事可能是我无法直接使用本地 mdf 文件。不过,如果 EF 团队能够比现在更公开地分享这些细节,那也没什么坏处,这会减轻我(或我们)的一些挫败感。

I found the problem. These tutorials do not contain information about some vital adjustments that I needed to make it work.

1) Your application must have an App.config containing a connectionstring named with the same name as your class that inherited from DbContext. In my case "TestEF_CF.ProductContext".

2) The database cannot be created before you start to use it. Just set the Initial Catalogue to the name you want Entity Framework to create when it autocreate the database.

Once I did this, it worked properly. I got further with the first step, but got an exception when I tried to save to the database. When EF autocreated the database everything worked fine.

One thing that may have made it more problematic on my development environment could be the fact that I cannot use local mdf files directly. Still it would not hurt if the EF team could share these details more open than they do now, it would save me (or us) some frustration.

乖乖 2024-11-30 17:17:34

尝试将连接字符串上的数据源设置为 .\SQLEXPRESS

它对我有用

Try setting the datasource on the connection string to .\SQLEXPRESS

It did work for me

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