我的公司即將開始使用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