【发布时间】:2011-02-18 17:53:38
【问题描述】:
注意:VS2010 / .NET 4,但目前没有 SP1 Beta,但如果 SP1 中的某些内容解决了这个问题,那么了解它仍然是一件好事。 :)
我有一个特定的数据库,我想从中读取但永远不会写入。我没有在模型的属性中看到任何东西(在 EF 设计器中查看)将其标记为只读。
当然,看起来最简单的事情是为生成的 ObjectContext 子类(类 FooModel : ObjectContext)添加一个部分类来覆盖 SaveChanges(SaveOptions) 并让它抛出(也许连接到 SavingChanges 并抛出也可以,我也没有真正尝试过)。这不会禁用更改跟踪,并且 AFAICT 我必须遍历上下文实例创建时的所有实体集,以将它们全部标记为只读(尽管这是一个性能问题,因此不如确保更改不那么重要) t 坚持)。
当然还有其他选项,例如让连接字符串以仅具有读取访问权限的用户身份连接,但我想知道从 EF 设计器/模型/实例的角度来看,哪些选项可用于拥有“只读”对象上下文?
【问题讨论】:
标签: .net visual-studio-2010 entity-framework linq-to-entities