2017-07-18 23 views
0

我正在處理服務器作爲REST服務運行並連接到SQL服務器的客戶端服務器應用程序。類從* .dbml文件(LINQ-> SQL)自動生成。服務器 - 客戶端應用程序和共享的Linq到SQL生成的類

我的問題是:我應該爲服務器和客戶端之間的數據交換創建新的類還是隻使用生成的類在兩側?

使用從*的.dbml產生的相同的類 - 優點

  1. 更好可持續性(數據約束是自動生成的)引起的兩者之間的數據複製數據中的錯誤的

  2. 減概率數據對象 - (模型自動生成,您不需要將生成模型中的值複製到另一個模型)

  3. 更好的速度。您必須在服務器上僅創建一個模型實例。

    • (當你有A類和B類代表必須創建兩個類的實例相同的數據)

使用從*的.dbml產生的相同的類 - CONS

  1. 客戶確切地知道數據庫表結構和使用的數據類型
+0

這是一個合理的利弊總結。 – mjwills

+0

另一個對我來說,客戶可能以不同的方式使用模型,例如,對於某些字段可能需要或不需要的地址,我將在視圖模型的屬性註釋中使用不同的'required'定義來實現。 另一個可能的情況是,很多時候你不僅想要改變一個模型的屬性,而且還要改變各種屬性。 – schlonzo

回答

0

你缺少的一個「CON」是使用相同的模型可能意味着你傳輸的數據比需要的多。

在客戶端和服務器之間使用特定合同意味着客戶端需要的數據僅通過網絡發送。

相關問題