簡體   English   中英

從 C# dto 類生成 javascript 對象

[英]Generate javascript objects from C# dto classes

在我的 spa 應用程序中同步服務器 poco/dto 對象定義的最佳方法是什么? 因此,如果我有一個包含地址列表的類,那么在客戶端上我們希望有一個對象模板,我們可以使用它來創建一個地址實例以插入到地址列表中。 顯然,我們的對象圖要大得多,並且在開發過程中變化很大,因此手動保持這些東西同步並不是一個成功的解決方案。

c#dto類

puclic class dto{
dto()
{
 addressList = new List<address>();
}
 puclic List<address> addresses {get;set;}
 public string otherField{get;set;}
}

public class address{
 public string street{get;set;}
 public string city {get;set;}
}

javascript 對象

var AddressClass = function(){
 this.street ="";
 this.city = "";
};

var Dto = function(){
 this.addressList = [];
 this.otherField = "";
};

一些在范圍內添加到 addressList 數組的地方

$scope.dtoClass.AddressList.push (new AddressClass() );

所以目標是服務器上的地址類和客戶端上的地址類。

sharp2Js是一個小型庫,可以創建鏡像C#POCO類的javascript對象,可以很容易地使用T4模板生成js文件

這是github上的網址https://github.com/castle-it/sharp2Js

您可能需要查看Automapper並創建轉換器,以便在發送之前轉換C#對象圖,以便它與客戶端上的javascript對象匹配。

我建議根據你的評論“很明顯我們的對象圖形更大,在開發過程中會發生很大的變化,因此手動保持這些事情並不是一個成功的解決方案。” 這將隔離您的轉換器以減少C#對象圖形大小,然后轉移到javascript到一個可單元測試的位置。

除非我完全誤解你想要什么。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM