代码之家  ›  专栏  ›  技术社区  ›  user287107

ADO.net,检查ObjectContext是否可写

  •  0
  • user287107  · 技术社区  · 14 年前

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

    1 回复  |  直到 14 年前
        1
  •  0
  •   Alex James    14 年前

    您可以直接对数据库执行类似的操作,以确定它是否为只读:

    选择DATABASEPROPERTYEX('DatabaseName','Updateability')

    • EF 4.0=> ObjectContext.ExecuteStoreCommand(..)
    • EF 3.5=> (ObjectContext.Connection as EntityConnection).StoreConnection as SqlConnection

    一旦你弄明白了,我可能会把它变成一个扩展方法,这样你就可以这样做:

    if (ctx.ReadOnly()) ...
    

    亚历克斯