首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >类型化数据集以及Dtos

类型化数据集以及Dtos
EN

Stack Overflow用户
提问于 2009-04-20 09:04:04
回答 2查看 860关注 0票数 1

我有一个web应用程序,它连接到WCF服务的业务逻辑。出于性能和互操作性的原因,我想使用简单的Dto在WCF边界传输数据。

但是,我必须使用类型化数据集进行数据访问(由于政治原因,ORM或任何其他选项都不可用)。

将Dto与类型化数据集一起使用是一个好主意吗?有人这么做过吗?有推荐的模式吗?最重要的是,是否有一个库/工具/方法可以从类型化数据集自动生成Dto?

EN

回答 2

Stack Overflow用户

发布于 2009-06-09 21:56:40

实体转换模式出现在我的脑海中。 http://msdn.microsoft.com/en-us/library/cc304747.aspx

好吧,也许是它的一个变体。

最近我不得不做一些类似的事情,我刚刚创建了另一个“层”,它将存储在datarow/datatable等中的数据转换为数据契约对象。服务层可以调用这个新的层方法,并将数据访问方法的结果作为参数。

下面是一个快速而肮脏的PSUEDOCODE示例:

代码语言:javascript
复制
 public class personTranslator
 {

     public static PersonDataContract TranslateToContract(Datarow personDataRow)
    {
        PersonDataContract resultPerson = new Person;
        resultPerson.FirstName = personDataRow["FirstName"];
        resultPerson.LastName = personDataRow["LastName"];
        .
        .
        [etc.]

        return resultPerson;
    }
 }

SERVICELAYER类

代码语言:javascript
复制
 public PersonDataContract GetSpecificPerson([Parameters])
 {
     [other setup/validation code...]
    return   PersonTranslator.TranslateToContract(PersonDataAccess.GetPersonRow([Parameters]));
 }
票数 2
EN

Stack Overflow用户

发布于 2009-04-20 09:28:07

我建议使用类型化的DataRow-s,DataTable-s。类型化的DataRow和Dto对象并没有太大的区别。在性能方面,您必须测试普通的Dto-s是否会有所帮助(我对此表示怀疑)。至于互操作性,类型化的DataRow是普通类,因此它们与Dto对象一样具有互操作性。

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

https://stackoverflow.com/questions/767488

复制
相关文章

相似问题

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