将DataRow转换为Domain类对象

时间:2016-07-08 03:01:04

标签: c# datatable ado.net datarow

我有来自经销商 DataTable DataRow 对象,其中包含 d_id,d_name,d_contactInfo 列和域类对象经销商,其属性为 id,name,contactInfo 。我正在寻找一种方法,通过使用转换,如

将此dataRow转换为域类对象
DbDataSet.dealers.FindByd_id(id) as Dealer;

有什么方法可以实现这个目标吗?因为如果是这样,代码看起来比必须逐个指定属性映射更清晰。感谢。

1 个答案:

答案 0 :(得分:1)

你有几个选择来解决这个问题。一种是创建自己的数据层对象,将DataRow中的字段映射到对象。如果您希望这更具自动性,可以创建辅助例程,或者如果您可以将数据作为XML或JSON获取,则可以使用序列化来匹配项目。这是实现这一目标的更难的方法。

如果您可以重构代码,则可以使用Entity Framework来匹配项目。我在Enterprise规范代码中并不喜欢它,但它可以与其他人一起使用。还有其他OR / M产品,许多开源,也可以做到。选择正确的一个取决于您的要求(一些更快,一些有更多功能等)

还有一些产品可以从一种形状映射到另一种形状,并为您节省一些时间,如评论中所述。