这个问题有点像调查。我们试图在使用像LINQ to SQL这样的ORM时找到最佳架构。我们正在定义一种框架,其他应用程序将通过直接引用DLL或通过Web服务访问它。我们有.NET应用程序和PHP应用程序。
可能性如下:
多个数据上下文:将数据库分成工作单元,并为每个工作单元创建单独的上下文。
优点: -易于使用 -类将被分解为不同的命名空间 -更小的领域需要维护
缺点: -如果相关,则必须复制对象,导致维护困难 -无法在上下文之间传递对象,需要再次访问数据库
单个数据上下文:所有表、视图、过程都驻留在同一个巨大的上下文中。
优点: -没有重复 -关系易于管理,基本上是由LINQ处理的。 -性能更好,对数据库的访问量更少。
缺点: -所有表都在同一个命名空间中,代码完成变得混乱 -不适合设计师(至少在VS2008中) -不能选择保存什么和不保存什么。只能保存全部或删除全部。
这些是我想到的事情,如果您有任何其他优点或缺点,请告诉我,我会在帖子中包含它们。同时请选出您最喜欢的。
谢谢大家。
可能性如下:
多个数据上下文:将数据库分成工作单元,并为每个工作单元创建单独的上下文。
优点: -易于使用 -类将被分解为不同的命名空间 -更小的领域需要维护
缺点: -如果相关,则必须复制对象,导致维护困难 -无法在上下文之间传递对象,需要再次访问数据库
单个数据上下文:所有表、视图、过程都驻留在同一个巨大的上下文中。
优点: -没有重复 -关系易于管理,基本上是由LINQ处理的。 -性能更好,对数据库的访问量更少。
缺点: -所有表都在同一个命名空间中,代码完成变得混乱 -不适合设计师(至少在VS2008中) -不能选择保存什么和不保存什么。只能保存全部或删除全部。
这些是我想到的事情,如果您有任何其他优点或缺点,请告诉我,我会在帖子中包含它们。同时请选出您最喜欢的。
谢谢大家。