gpt4 book ai didi

sql-server - Entity Framework 连接到 SQLEXPRESS 而不是 SQL Compact

转载 作者:行者123 更新时间:2023-12-02 10:23:43 25 4
gpt4 key购买 nike

我一直在尝试使用 SQl Compact 4.0 进行代码优先 EF 项目。当我尝试运行该项目时,出现错误“数据库‘master’中的创建数据库权限被拒绝。”。

我搜索了帮助,并回应了一些博客,试图识别正在使用的连接字符串。令我惊讶的是

context.Database.Connection.ConnectionString    "Data Source=.\\SQLEXPRESS;Initial Catalog=Ancestors.Models.AncestorsContext;Integrated Security=True;MultipleActiveResultSets=True;Application Name=EntityFrameworkMUE"    string

即使我的 web.config 文件包含以下部分...

<connectionStrings>
<add name="DefaultConnection" providerName="System.Data.SqlServerCe.4.0" connectionString="Data Source=|DataDirectory|\aspnet-Ancestors-20121012114712.sdf" />
</connectionStrings>

<system.data>
<DbProviderFactories>
<remove invariant="System.Data.SqlServerCe.4.0" />
<add name="Microsoft SQL Server Compact Data Provider 4.0" invariant="System.Data.SqlServerCe.4.0" description=".NET Framework Data Provider for Microsoft SQL Server Compact" type="System.Data.SqlServerCe.SqlCeProviderFactory, System.Data.SqlServerCe, Version=4.0.0.1, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />
</DbProviderFactories>
</system.data>

有谁知道为什么 EF 坚持创建到 SQLEXPRESS 而不是 SQL Compact 的连接?我在解决方案中的任何地方都找不到对 SQLEXPRESS 的任何引用。

最佳答案

不要使用以下内容将连接名称传递给 DBContext

public YourContext() : base("DefaultConnection")
{

}

使用名称指令

public YourContext() : base("name=DefaultConnection")
{

}

这将告诉 EF 使用该参数作为连接。

此外,在 web.config 中的 connectionStrings 部分顶部添加“clear”可能会解决继承问题。

关于sql-server - Entity Framework 连接到 SQLEXPRESS 而不是 SQL Compact,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12861458/

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