我使用以下连接字符串:
Server=(localdb)\\MyInstance;Timeout=30;Database=MyDB;AttachDBFilename="C:\Temp\MyDB.mdf";Trusted_Connection=True;
一旦我使用
从代码运行迁移dbContext.Database.Migrate();
通常,此“简单”有效。数据库不仅被迁移,它还在为其创建文件。
但是,在同事的设备上,相同的代码导致此错误消息:
System.Data.SqlClient.SqlException: "Cannot attach the file 'C:\Temp\MyDB.mdf' as database 'MyDB'."
如果我将 my 数据库文件提供给我的同事,然后他将其放置在适当的目录中,则一切都会按预期运行,并且该程序中的其他代码可以像访问它一样访问其中的所有内容通常。
我们尝试了不同的路径,并始终检查文件系统权限。如果LocalDB或实体框架(他通常不负责创建数据库文件)通常不会在其设备上丢失,则不会创建该数据库文件。
是否有任何开关引起这种情况?我可以使用连接字符串明确告诉localdb应该创建数据库文件吗?