我的公司即将开始使用Telerik OpenAccess ORM的新项目。这对我们来说是一个新产品,而且我们第一次将ORM用于项目而不是基于数据集的方法。我们目前在构建数据层的最佳方式方面存在分歧。具体来说,我们是否应该为项目提供一个.rlinq文件和域模型,或者我们是否应该只包含每个屏幕/模块.rlinq文件,这些文件仅包含表格中的表格以及表格中的列。说明后者:帮助构建Telerik OpenAccess域模型
假设我们有一个Person表,其中包含名字,姓氏,ssn,出生日期,性别和婚姻状态的字段。在个人信息屏幕中,我们需要所有这些字段,因此我们将整个表格包含在该.rlinq文件的域模型中。在另一个屏幕上(使用单独的.rlinq文件),我们只需要该用户的姓和ssn,因此该.rlinq文件中的Person对象只包含姓和ssn。
此方法的参数主要是我们应该只选择我们需要的特定屏幕的数据,而不是更多。在我们目前的基于数据集的应用程序中,这是有道理的。也有人担心,如果没有不必要的表格和关系,即使没有要求并导致网络负载,也会导致不需要的数据被加载。反对这个观点的论点是,我们正在分割域模型并引入不必要的复杂性,而ORM的这部分工作是通过缓存和延迟加载来管理数据获取。我们无法就此达成协议,也无法以某种方式找到任何确凿的信息,因此我们转向StackOverflow社区寻求帮助!
如果重要,我们正在构建一个基于Windows Forms的Intranet应用程序,数据层将位于WCF服务之后,数据库将有大约100个表。
非常感谢您的帮助!
Telerik可能是最好的人问这个问题。 – 2011-03-02 16:58:28
@罗伯特哈维 - 谢谢你,我们也是这么做的。我们希望尽可能多地收集有关此事的意见。 – bryan 2011-03-02 17:13:07