将数据行转换为域类对象

本文关键字:对象 转换 数据 | 更新日期: 2023-09-27 17:55:45

我有一个来自经销商DataTableDataRow 对象,该对象具有列 d_id、d_name、d_contactInfo 列和一个域类对象 Dealer,其中包含属性 ID、名称、联系人信息。我正在寻找一种通过使用诸如

DbDataSet.dealers.FindByd_id(id) as Dealer;

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

将数据行转换为域类对象

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

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

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