在我的spa应用程序中同步服务器poco / dto对象定义的最佳方法是什么? 所以,如果我有一个带有地址列表的类,那么在客户端上我们希望有一个对象模板,我们可以用它来创建一个地址实例插入到地址列表中。显然,我们的对象图更大,并且在开发过程中发生了很大变化,因此手动保持这些事情并不是一个成功的解决方案。
c#dto class
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() );
所以目标是服务器上的地址类和客户端上的addressClass。
答案 0 :(得分:1)
sharp2Js是一个小型库,可以创建镜像C#POCO类的javascript对象,可以很容易地使用T4模板生成js文件
上的网址答案 1 :(得分:0)
您可能需要查看Automapper并创建转换器,以便在发送之前转换您的C#对象图,以便它与客户端上的javascript对象相匹配。
我建议根据你的评论“显然我们的对象图表更大,并且在开发过程中发生了很大的变化,因此手动保持这些事情并不是一个成功的解决方案。”这将隔离您的转换器以减少C#对象图形大小,然后转移到javascript到一个可单元测试的位置。
除非我完全误解你想要的东西。