【问题标题】:Data for MVC 3 code first appMVC 3 代码优先应用的数据
【发布时间】: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


【解决方案1】:

如果您有 sdf 文件,请尝试以下方法在 sql management studio 中打开数据库。

How can I manage SQL CE databases in SQL Server Management Studio?

我知道它不能解决其他问题,但您的数据导入可能会以这种方式工作。请注意,您的网站一定不能运行,否则数据库将被使用。使用完后分离。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-08-06
  • 2015-10-20
  • 2011-10-10
  • 2023-03-11
  • 1970-01-01
  • 1970-01-01
  • 2012-02-11
相关资源
最近更新 更多