我在asp.net mvc项目中有一个嵌入式数据库。如果我尝试写入该文件,我有时会得到写入失败的异常,因为SQL Server无法写入该文件。如果ObjectContext是可写的,如何在不实际写入数据库的情况下检查它?
答案 0 :(得分:0)
你可以直接对数据库执行类似这样的操作,如果它是只读的,则找出它:
SELECT DATABASEPROPERTYEX('DatabaseName','Updateability')
要做到这一点,你会使用:
ObjectContext.ExecuteStoreCommand(..)
(ObjectContext.Connection as EntityConnection).StoreConnection as SqlConnection
进入底层数据库连接,然后创建一个SqlCommand。一旦你弄明白这一点,我可能会把它变成一个扩展方法,所以你可以做这样的事情:
if (ctx.ReadOnly()) ...
希望这有帮助
亚历