EntityObject到XML并返回到Object?(如果可以,通过DataTable)
本文关键字:如果可以 通过 DataTable XML 返回 Object EntityObject | 更新日期: 2023-09-27 17:57:53
编辑2
我再次更新这个问题,以便更简单地解释我需要什么
我需要在我的应用程序中获取任何EntityObject,将其转换为XML,稍后可以将其重新转换为可以在DataSource中查询或使用的对象。我无法重新转换为原始EntityObject,因为该对象的结构可能已更改。这可行吗?
下面的原始问题
让我们假设一下,比我高的人要求我(因为我是)获取EntityObject并将其转换为DataTable。我收到的关于如何做到这一点的例子是2006年的,它使用了一个自定义类(我的老板认为它内置在.Net中),但无论如何都不起作用。
有没有一种方法可以在不编写自己的自定义类的情况下做到这一点?像"new DataTable(myEntityObject)"这样简单的东西会很神奇。不过我猜不会。
编辑
我改变了这个问题,因为给我的标准是错误的。我们主要希望我们的EntityObject是XML,这样它就可以存储在数据库中,并在以后进行重建。这可以通过序列化完成吗?
要回答您更新的问题:使用XmlSerializer
public XElement XmlSerialize(object o)
{
XmlSerializer serializer = new XmlSerializer(o.GetType());
using (StringWriter sw = new StringWriter())
{
serializer.Serialize(sw, o);
return XElement.Parse(sw.ToString());
}
}
您需要为此编写一个转换器类,如下所示:
public DataRow ToDataRow<T>(T entity)
public DataTable ToDataTable<T>(IEnumerable<T> entities)