我有来自经销商 DataTable 的 DataRow 对象,其中包含 d_id,d_name,d_contactInfo 列和域类对象经销商,其属性为 id,name,contactInfo 。我正在寻找一种方法,通过使用转换,如
将此dataRow转换为域类对象DbDataSet.dealers.FindByd_id(id) as Dealer;
有什么方法可以实现这个目标吗?因为如果是这样,代码看起来比必须逐个指定属性映射更清晰。感谢。
答案 0 :(得分:1)
你有几个选择来解决这个问题。一种是创建自己的数据层对象,将DataRow中的字段映射到对象。如果您希望这更具自动性,可以创建辅助例程,或者如果您可以将数据作为XML或JSON获取,则可以使用序列化来匹配项目。这是实现这一目标的更难的方法。
如果您可以重构代码,则可以使用Entity Framework来匹配项目。我在Enterprise规范代码中并不喜欢它,但它可以与其他人一起使用。还有其他OR / M产品,许多开源,也可以做到。选择正确的一个取决于您的要求(一些更快,一些有更多功能等)
还有一些产品可以从一种形状映射到另一种形状,并为您节省一些时间,如评论中所述。