2016-05-17 99 views
1

我有一類,我能夠通過從SQL Server中獲取XML有條件的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 =」 en「,那麼person.name應該是personXML.name_en,如果lang =」ar「,那麼person.name應該是personXML.name_ar。 我想連載personXML做出來,在人類再次反序列化 請幫助

回答

0

你將不能夠做到這一點wihtout自定義序列:https://msdn.microsoft.com/en-us/library/ty01x675(v=vs.110).aspx

但給你的問題,我會建議不同的方法。你可以在你的代碼中保留personXML和person DTO。 在您的數據訪問層中,您只能使用personXML。但是你公開知識庫返回人員。

換句話說,您可以輕鬆實現序列化,並且可以添加一個抽象來管理personXML和person之間的轉換到專用存儲庫。

希望它有幫助。

+0

請分享一個測試代碼,這會很有幫助 –

+0

Google是你的朋友吧? https://msdn.microsoft.com/en-us/library/ff649690.aspx http://blog.gauffin.org/2013/01/11/repository-pattern-done-right/ – Ouarzy