我有一个可以通过从Sql Server获取xml来反序列化的类

public class personXML
{
public string lang{get;set;}
public string name_en{get;set;}
public string name_ar{get;set;}
}


我也有人班

public class person
{
public string name {get;set;}
}


我希望如果lang =“ zh-cn”,那么person.name应该是personXML.name_en,如果lang =“ ar”,那么person.name应该是personXML.name_ar。
我想通过序列化personXML并在人类中再次反序列化来实现
请帮忙

最佳答案

您将无法进行自定义序列化:https://msdn.microsoft.com/en-us/library/ty01x675(v=vs.110).aspx

但是给您的问题,我建议使用另一种方法。您可以在代码中同时保留personXML和person DTO。
在数据访问层中,您仅使用personXML。但是您暴露了存储库返回者。

换句话说,您可以轻松地进行序列化,并添加抽象以管理personXML和person之间的转换到专用存储库中。

希望能帮助到你。

10-06 06:23