【发布时间】:2011-09-01 14:13:12
【问题描述】:
这世上不可能这么难。连续 30 小时以来,我一直在尝试用数据填充代码优先数据库。我尝试过使用 sql server compact 实例和 sql server express 实例。
我正在使用 Visual Studio 2010 sp1,我的 sql server 是 SQL Server 2008 R2 (express)。首先,我无法使用管理工作室打开 EF 创建的任何数据库。 Management Studio 使用正确架构创建的任何数据库都无法连接到 Visual Studio 应用程序。如果我指出那个文件 EF 会连接到它,我就会有印象。架构是正确的,因为我从 EF 创建的数据库中导出了它。但是,这不起作用,并且我收到数据库已存在的错误。
在使用脚本通过 Visual Studio 数据库工具将数据添加到 EF 创建的数据库后,该站点无法运行,我收到一个错误,即数据库日志文件不同或文件已损坏。
如果有人能告诉我这应该如何工作,我将不胜感激。项目已经准备好了,我只需要加载生产数据并上传,当然是昨天到期的。
如果您需要,这里有一些详细信息: 尝试创建数据库时,我在全局 asax 代码文件中使用以下代码行,并在尝试连接到数据库时将其注释掉: Database.SetInitializer(new storagePropertyInitializer());
我尝试过的一些连接字符串:
<add name="storageContext" connectionString="data source=.\SQLEXPRESS;Persist Security Info=False;User ID=xxxx;Password=xxxxx;Database=irrStorage;AttachDBFilename=|DataDirectory|irrStorageV12.mdf;User Instance=true" providerName="System.Data.SqlClient" />
<add name="storageContext" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;Database=storagePropsDB;AttachDBFilename=|DataDirectory|irrStorageProperties.mdf;User Instance=true" providerName="System.Data.SqlClient" />
<add name="storageContext" connectionString="Data Source=|DataDirectory|irrStorageProperties.sdf" providerName="System.Data.SqlServerCe.4.0" />
谢谢, 约翰
【问题讨论】:
-
有什么理由必须直接寻址 DB 文件而不是 SQL 服务器实例名称 + 默认目录?
-
@BrokenGlass : 当包含在 app_data 中时,自动附加数据库的工作方式是这样的
标签: visual-studio-2010 sql-server-2008 entity-framework asp.net-mvc-3