我在 asp.net mvc 项目中有一个嵌入式数据库。如果我尝试写入文件,有时会收到写入失败异常,因为 SQL Server 无法写入文件。我如何检查 ObjectContext(如果它是可写的)而不实际向数据库写入内容?
问问题
208 次
1 回答
0
您可以直接对数据库执行类似的操作,以确定它是否为只读:
SELECT DATABASEPROPERTYEX('DatabaseName','Updateability')
为此,您将使用:
- 英孚 4.0 =>
ObjectContext.ExecuteStoreCommand(..)
- EF 3.5 =>
(ObjectContext.Connection as EntityConnection).StoreConnection as SqlConnection
获取底层数据库连接,然后创建一个SqlCommand。
一旦你弄清楚了这一点,我可能会把它变成一个扩展方法,这样你就可以做这样的事情:
if (ctx.ReadOnly()) ...
希望这可以帮助
亚历克斯
于 2010-03-26T02:46:38.453 回答