0

我在 asp.net mvc 项目中有一个嵌入式数据库。如果我尝试写入文件,有时会收到写入失败异常,因为 SQL Server 无法写入文件。我如何检查 ObjectContext(如果它是可写的)而不实际向数据库写入内容?

4

1 回答 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 回答