我一直在尝试使用SQL Compact 4.0进行Code First EF项目。当我尝试运行该项目时,出现了一个错误:“在数据库'master'中拒绝了CREATE DATABASE权限。”
我搜索了帮助,并根据一些博客的回答尝试确定正在使用的连接字符串。令我惊讶的是,它是:
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的引用。
name
,您会得到一个错误提示:“未找到该名称的连接”。 - user3402754