假设应用程序在启动时使用EnsureCreated
。在应用程序运行之间删除相应的.mdf
文件时,EnsureCreated
会引发SqlException
:
Database '...' already exists. Choose a different database name.
到目前为止,还可以。但是,应用程序检查.mdf
文件是否存在,如果不存在,则调用EnsureDeleted
。该调用返回false
。 documentation说如果数据库不存在,EnsureDeleted
返回false
(如果删除数据库,则返回true
)。现在,我想知道为什么EnsureDeleted
返回false
,为什么EnsureCreated
甚至在调用EnsureDeleted
之后仍引发异常。最重要的是:该问题该如何处理?
连接字符串为:
Server=(LocalDB)\MSSQLLocalDB;Trusted_Connection=True;MultipleActiveResultSets=True;Database=EntityDb;AttachDbFilename=<directory>\EntityDb.mdf;