0

我们正在为许多中小型的潜在客户开发 LOB 应用程序,而不是大型的。

我们必须为每个新客户安装数据库。

您认为对我们来说最好的方法是什么,模型优先(使用 edmx 并使用向导开发模型和元数据)或代码优先。

我们喜欢 Entity Framework/RIA Services 的简单性,我们认为 Optimistic Concurrency 对我们的应用程序来说已经足够了,但是由于数据库必须在 SQL Server 中从头开始安装(我们不会使用其他数据库),我们不确定什么方法最适合我们。

4

1 回答 1

2

只要 EF 和首先选择 edmx/code,我相信这更多的是个人喜好问题。Edmx 模型似乎比代码优先,但是即使在 VS2012 中设计器仍然有点笨拙,特别是如果你有 50 多个实体。自从 EF 代码首先变得可用以来,我已经放弃了 edmx。
关于 WCF Ria 服务 我在我的 LOB 应用程序中广泛使用它,即使在大型应用程序中也是如此,并且与普通 WCF 相比,它在大多数情况下为您节省了大量的胶水代码。
我确定您知道已发布的功能,例如

  • 服务器端过滤、分页甚至分组
  • 客户端代码生成,简化了 sl 和完整 clr 之间的代码共享

和许多其他人,但也许你对他的局限性更感兴趣

  • 尽管您始终可以向查询添加参数并应用过滤器服务器端,但您不能使用嵌套表达式(即任何)从客户端查询,但它并不完全相同
  • 你不能直接暴露与silverlight的多对多关系(但是看看M2M4RIA
  • 您必须将外键字段添加到您的模型中(对我来说,数据库似乎泄漏到模型中)
  • WCF Ria 服务在主线程中完成他的大部分工作(即在加载/提交更改后加载 DomainContext)
  • 如果您的应用程序变大并且您正在考虑拆分域服务/域上下文,请注意,尝试在原子事务中提交两个域上下文的更改会遇到严重的痛苦
  • 每次您构建客户端并花费(我认为)比它应该更长的时间时都会发生代理生成

尽管如此,我相信这对 RAD 来说是一项很好的技术,事情最终可能会变得更好:Colin Blair 在他的博客上发帖称,他正在推动微软将 WCF Ria 作为开源发布,鉴于微软已经杀死了 Sl,这确实可以改善事情/Wcf ria 开发

于 2012-11-05T18:57:36.340 回答