微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c# – 使用SQL Server Express的Code-First;操作系统错误2

我正在尝试使用代码优先的实体框架生成sql Server Express嵌入式数据库(.mdf).它过去工作正常,但现在,我只是反复出现同样的错误,我无法确定问题.问题发生在初始化,它只是永远挂起,如果你看intellitrace你可以看到某种循环的throw / catch语句全部返回

“Unable to open the physical file “c:\gt\aspnetdb.mdf”. Operating
system error 2: “2 (Failed to retrieve text for this error. Reason:
1815”. Cannot attach the file “c:\gt\aspnetdb.mdf” as database
‘WikDb’.” (System.Data.sqlClient.sqlException)

UPDATE
我现在也在“无法打开物理文件……”之前收到以下错误.

Column ‘InvariantName’ is constrained to be unique. Value
‘System.Data.sqlClient’ is already present.

结束更新

这是我的app.config

<configuration>
   <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.0"/>
      </DbProviderFactories>
   </system.data>
   <connectionStrings>
      <add name="WikDb"
           connectionString="data source=.\sqlEXPRESS;Integrated Security=True;
                       database=WikDb;AttachDBFilename=c:\gt\aspnetdb.mdf;
                       User Instance=True"
           providerName="System.Data.sqlClient" />
   </connectionStrings>
</configuration>

这是我的初始化代码

Database.Setinitializer(new DbInitializer()); //DropCreateDatabaseAlways<WikDb> intializer
Database.DefaultConnectionFactory.CreateConnection( "WikDb" );
WikDb db = new WikDb();
db.Database.Initialize( true );

任何帮助赞赏

谢谢,

解决方法

看起来您的sql Server实例已损坏.这通常会在经常安装其他实例时发生 – 如果使用Express版本,完整版本更容易安装和维护(如果您相信谷歌 – 或我的个人经验:P).最好的方法来查看是否可以在具有有效sql Server实例的另一台计算机上运行您的应用程序.可以使用SSMS(sql Server Management Studio)连接到数据库.如果没有,请尝试干净安装sql Server.

更多信息:

> http://www.ureader.com/msg/11614770.aspx
> http://www.bigresource.com/Tracker/Track-ms_sql-UCk3FgDP/

编辑:我发现如果运行一个认实例(名为sqlEXPRESS的那个),sql Server Express效果最好,其他一切都给我带来麻烦,可能只是我.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐