gpt4 book ai didi

entity-framework - Entity Framework Code First 的 SQL Server Express 连接字符串

转载 作者:行者123 更新时间:2023-12-03 07:33:03 24 4
gpt4 key购买 nike

我正在使用 Visual Web Developer 2010 Express,并使用 Entity Framework 代码优先 CTP。我可以使用新的 SQL Server CE 执行此操作,但无法找到与 SQL Server Express 一起使用的连接字符串。

这个使用 SQL Server CE beta,工作正常(数据库在模型更改时创建和重新创建)。

<add name="TrempimModel"
connectionString="data source=|DataDirectory|TrempimModel.sdf"
providerName="System.Data.SqlServerCe.4.0" />

这个是我从 aspnetdb 连接字符串复制的,

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

启动时给出以下消息:

Unable to complete operation. The supplied SqlConnection does not specify an initial catalog

那么如何让它与 SQL Server Express 一起工作呢?

最佳答案

您的连接字符串的问题是:

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

您基本上定义了要连接到的“服务器” - 但您没有说明要连接到文件内的哪个数据库。 此外 - SQL Server Express 数据库文件的文件扩展名是 .mdf (不是 .sdf - 这是 SQL Server Compact Edition) - 您需要考虑到这一点,也是! (根据 OP 的评论,是一个拼写错误)。

您需要在连接字符串中定义额外的database=....(或Initial Catalog=.....):

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

那么它应该可以正常工作。

有关更多背景和大量示例,请查看ConnectionStrings网站。

关于entity-framework - Entity Framework Code First 的 SQL Server Express 连接字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4116994/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com