(我是根据评论者的建议从 SO 交叉发布的)
我们的 DBA 创建了一种模式,其中我们的数据库层通过视图和 CRUD 存储过程暴露给 EF。CRUD 与视图背道而驰。所有视图都有 NOLOCK 提示。据我所知,NOLOCK 是脏读,这让我很紧张。我们的数据库容量不大,但似乎一揽子 NOLOCK 在保持数据完整性的同时不是很可扩展。我知道解耦是个好主意,但问题是我们没有。我们外部暴露的对象看起来就像我们的视图一样,它们与我们的表 1 到 1 映射。
“如果我们想改变底层数据模型,我们可以。” ......但我们没有。从 VS/EF 工具的角度来看,我不会触及这一切是什么 PITA。
这种情况下用NOLOCK是不是不好?由于我们的数据库看起来与我们的类库完全一样,我认为摆脱整个视图/存储过程层并直接从 EF 访问 DB 是有意义的,是吗?
sql-server ×1