首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >适配器模式

适配器模式
EN

Stack Overflow用户
提问于 2011-04-24 06:07:53
回答 2查看 733关注 0票数 0

我有一个问题,我必须将数据从DataTable复制到另一个,两者具有不同的结构,这就是为什么我不能只调用rowImport方法。

在我之前的帖子中,我问过做这项工作的优化方法是什么,有人建议我应该研究一下适配器模式?

代码语言:javascript
复制
IEnumerable<DataRow> query = from vendInv in 
  VendorInvoiceStagingTable.AsEnumerable()                                         
 where vendInv.Field<string>(VendInvoice.Number) ==    InvoiceHeader                                         
 select vendInv;      


  Object[] obj = new Object[10];            
 var item = query.First();           
  for (int idx = 0; idx < 10; idx++)   
     {              
      obj[idx] = item[idx];       
      }        
   VendorInvoiceTable.Rows.Add(obj);

下面的链接描述了完整的问题:

Best way to copy Data from one DataTable to another DataTable with diffrent structure

问:如何使用Adapter pattern解决此问题?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-04-24 09:42:24

我不认为Adapter模式在这里能以任何方式帮助你。我的猜测是,您还没有自己决定使用DataTable作为您的数据结构,但是其他一些情况,比如您的应用程序中使用它的其他组件(UI?)强迫你使用它。这意味着这些组件只调用“对话”到DataTable接口。适配器模式是关于消费者(客户端)和源(适配器)之间的中间接口。中间接口称为Adapter。因此,请坚持使用最简单的解决方案。从您的示例中,我感觉您的映射是简单的1:1行“转换”,在这里引入任何核心模式没有多大意义:)

票数 3
EN

Stack Overflow用户

发布于 2011-04-26 05:09:02

那合并呢?这将“将指定的System.Data.DataTable与当前的System.Data.DataTable合并”。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5767274

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档