.NET Framework4项目执行Update-Database时遇'initial catalog'不支持错误
解决Update-Database报错"Keyword not supported: 'initial catalog'"
问题根源
你的连接字符串使用了完整版SQL Server的语法(Initial Catalog关键字),但配置的providerName是System.Data.SqlServerCe.4.0(SQL Server Compact Edition,轻量文件型数据库),两者连接字符串语法不兼容,CE不识别Initial Catalog这类关键字。
两种解决方式
方式一:改用完整版SQL Server驱动(推荐,若使用本地SQL Server/Express)
直接修改app.config的providerName为SQL Server官方驱动,你的现有连接字符串语法完全适配:
<connectionStrings> <add name="DocsControlDBConnectionString" connectionString="Data Source=.;Initial Catalog=DocsControl_DB;Integrated Security=True" providerName="System.Data.SqlClient"/> </connectionStrings>
方式二:修正为SQL Server CE的连接字符串(若确实需要使用CE)
CE是文件型数据库,连接字符串需指定数据库文件路径,用Database代替Initial Catalog,示例:
<connectionStrings> <add name="DocsControlDBConnectionString" connectionString="Data Source=|DataDirectory|\DocsControl_DB.sdf;Persist Security Info=False" providerName="System.Data.SqlServerCe.4.0"/> </connectionStrings>
|DataDirectory|会自动映射到项目的App_Data文件夹,需确保该文件夹存在;也可直接填写数据库文件的绝对路径。
修改完成后,重新在程序包管理器控制台执行Update-Database命令即可。
内容的提问来源于stack exchange,提问作者sina
相关产品推荐
相关产品推荐

