2010-03-25 40 views
0

我有一个asp.net mvc项目中的嵌入式数据库。如果我试图写入文件,我有时会遇到写入失败的异常,因为SQL Server无法写入文件。我怎么能检查一个ObjectContext,如果它是可写的,而没有实际写入数据库的东西?ADO.net,检查ObjectContext是否可写

回答

0

您可以执行类似这样直接对数据库以找出它是否是只读或不:

SELECT DATABASEPROPERTYEX(“数据库名称”,“可更新”)

要做到这一点,你会用途:

  • EF 4.0 =>ObjectContext.ExecuteStoreCommand(..)
  • EF 3.5 =>(ObjectContext.Connection as EntityConnection).StoreConnection as SqlConnection去底层的数据库连接,然后创建一个SqlCommand。

一旦你想通了这一点,我可能会变成一个扩展方法,这使你可以做这样的事情:

if (ctx.ReadOnly()) ... 

希望这有助于

亚历