【发布时间】:2025-12-25 11:35:06
【问题描述】:
这是一个非常非常基础的问题。
假设我想在今天构建一个具有 n 层架构的 .NET 企业 CRUD 应用程序。我应该使用什么数据访问方法?我想要互操作性,所以 DataSets 出来了(我想它也不再是 2003 年了)。同样,.NET RIA Services 所宣传的通过附加服务向非 Silverlight 客户端公开其功能的方法对于更新操作似乎不是很convincing。我有点能够用实体框架拼凑一些东西,它没有 n 层支持 OOB,因此需要许多奇怪的反射类型的东西来模拟乐观并发的外表( MSDN Magazine 中的 example 看起来不支持乐观并发。我 hear 这在 EF4 中得到了改进,但我有点怀疑,除了 CTP 之外它还没有真正可用)。
那么,对于具有更新检查乐观并发的企业 CRUD,人们实际上可以为他们的项目做些什么呢?数据集?使用 DTO 进行 DIY,天知道涉及多少工作?以及如何处理绑定数据?假设我有一个绑定到 DataGrid 的集合,我是否需要听 CollectionChanged 进行更改?我是否需要保留大量更改,以便在有撤消时比较 PK?这似乎是一场噩梦。
其次,如果乐观并发的更新检查不是硬性要求怎么办?然后呢?
【问题讨论】:
-
应用有多大?它将服务多长时间?有多少用户?一个位置还是多个?开发人员目前的经验和知识基础是什么?你说你想要互操作性,但是用什么?在没有这种背景的情况下选择技术解决方案是没有意义的。
标签: .net database entity-framework n-tier-architecture crud