【发布时间】:2010-11-04 12:56:01
【问题描述】:
这个问题有点像一个问题。我们正在尝试在使用像 LINQ to SQL 这样的 ORM 时确定最佳架构。我们定义的架构是针对其他应用程序将通过直接引用 DLL 或通过 Web 服务访问的某种框架。我们有 .NET 应用程序和 PHP 应用程序。
可能性是:
多个数据上下文:将数据库分成工作单元并为每个工作单元创建单独的上下文。
优点:
- 易于使用
- 类将被分成不同的命名空间
- 要维护的域更小
缺点:
- 如果出现以下情况,则必须复制对象 相关,创造维护地狱
- 无法在上下文之间传递对象,因此需要再次访问数据库
单一数据上下文:所有表、视图、过程都驻留在同一个巨大的上下文中。
优点:
- 没有重复
- 关系易于管理,基本上由 LINQ 处理。
- 性能更好,对 DB 的访问更少。
缺点:
- 所有表都在同一个命名空间中,代码完成变得疯狂
- 对设计师来说不是最好的(至少在 VS2008 上)
- 无法选择要保存和不保存的内容。全部保存或删除所有模式。
嗯,这是我想到的事情,所以如果有任何其他优点或缺点,请告诉我,我会将它们包含在帖子中。也选择你最好的。
谢谢大家
【问题讨论】:
-
另外,EF - 但高度相关:stackoverflow.com/questions/1028739/…
标签: c# .net vb.net linq-to-sql architecture