首先使用 VS2010 代码和带有 MVC3 webapp 的 SQL Server 2008r2,SetInitializer 在丢失或模型更改时按预期创建一个数据库。
创建的 db 具有文件名格式 database.mdf 和 **logfile database.ldf(可以将此默认“name.ldf”格式更改为“name_log.ldf”吗?)。
当使用 VS2010 服务器资源管理器打开数据库时(在解决方案资源管理器中双击 db),VS2010 会创建一个新的第二个日志文件,格式为 database_log.ldf。
我现在可以在 VS2010 服务器资源管理器中浏览数据库,但不能再调试、dropcreateonmodelchange 或以其他方式使用 db。
尝试调试时显示的错误是:{“一个或多个文件与数据库的主文件不匹配。如果您尝试附加数据库,请使用正确的文件重试该操作。如果这是现有数据库,则文件可能已损坏,应从备份中恢复。\r\n无法打开登录请求的数据库“数据库”。登录失败。\r\n用户“My-PC\Me”登录失败。\r\n登录文件 'C:\Users\Me\project\App_Data\database.ldf' 与主文件不匹配。它可能来自不同的数据库,或者日志可能以前已重建。"} ...这很公平,因为该项目期望当前的日志文件是“database.ldf”。
ASPNETDB.MDF 和 aspnetdb_log.ldf 文件/名称也已创建,并且没有默认日志文件名问题,因此该问题不适用于 ASPNETDB。
是否可以更改 SetInitializer 的默认日志文件名以创建“database_log.ldf”格式的日志文件名而不是“database.ldf”?我用谷歌搜索没有成功,并查看了我在 VS2010 中可以找到的所有设置和选项。格式是否存储在可以手动编辑的配置文件中?