【问题标题】:Convert a DataRow to a Domain class object将 DataRow 转换为 Domain 类对象
【发布时间】:2016-07-08 03:01:04
【问题描述】:

我有一个来自 dealers DataTableDataRow 对象,其中包含 d_id、d_name、d_contactInfo 列和具有 id、name、contactInfo 属性的域类对象 Dealer。我正在寻找一种通过使用诸如

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

有什么方法可以实现吗?因为如果是这样,代码看起来比必须一一指定属性映射要干净得多。谢谢。

【问题讨论】:

标签: c# datatable ado.net datarow


【解决方案1】:

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

如果您可以重构代码,则可以使用实体框架来匹配项目。在企业级代码中我不喜欢它,但它与其他人一起工作得很好。还有其他 OR/M 产品,许多开源产品,也可以做到这一点。选择正确的取决于您的要求(有些更快,有些功能更多等)

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-13
    相关资源
    最近更新 更多