EF架构~AutoMapper对象映射工具简化了实体赋值的过_.NET_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > .NET > EF架构~AutoMapper对象映射工具简化了实体赋值的过

EF架构~AutoMapper对象映射工具简化了实体赋值的过

 2013/8/14 17:19:21  蒋叶湖  博客园  我要评论(0)
  • 摘要:AutoMapper是一个.NET的对象映射工具,一般地,我们进行面向服务的开发时,都会涉及到DTO的概念,即数据传输对象,而为了减少系统的负载,一般我们不会把整个表的字段作为传输的数据,而是单独根据具体场景,写一个新的类,这个类一般以DTO结尾,意思是说,它是网络上的数据传输用的,而你的DTO数据对象的赋值过程就成了一个问题,而为了减少赋值过程的代码量,AutoMapper就出来了,它可以实现实体对实体的赋值过程,或者叫“映射过程”。我心中的项目应该是这样的
  • 标签:Map 工具 架构 APP

class="p0">AutoMapper是一个.NET的对象映射工具,一般地,我们进行面向服务的开发时,都会涉及到DTO的概念,即数据传输对象,而为了减少系统的负载,一般我们不会把整个表的字段作为传输的数据,而是单独根据具体场景,写一个新的类,这个类一般以DTO结尾,意思是说,它是网络上的数据传输用的,而你的DTO数据对象的赋值过程就成了一个问题,而为了减少赋值过程的代码量,AutoMapper就出来了,它可以实现实体对实体的赋值过程,或者叫映射过程

我心中的项目应该是这样的,用户业务服务,产品业务服务,订单业务服务,这样服务都使 用单独的数据库,它们之间的通讯采用WCF进行实现,在获数据时会在WEB端添加缓存机制,以减少对WCF的调用,而在WCF的网络通讯中,数据类型一般 不会使用poco实体,因为它会有很多对当前业务无用的字段,我们会为具体业务建立具体的DTO对象,而entity实体与DTO实体之间的赋值过程我们 可以用AutoMapper来实现。

AutoMapper在程序中的体现:

DTO实体

[DataContract]

    public class ProductDTO    {  

      [DataMember] 

       public int ProductID { get; set; }  

      [DataMember]     

     public string ProductName { get; set; }   

     [DataMember]       

     public System.DateTime CreateDate { get; set; }     

   [DataMember]      

  public int SaleCount { get; set; }   

     [DataMember]       

 public Nullable<int> ClickCount { get; set; }    

[DataMember]   

     public string Info { get; set; } 

       [DataMember]     

   public int UserID { get; set; }      

  [DataMember]      

  public decimal SalePrice { get; set; }    

    [DataMember] 

       public int Discount { get; set; }  

  }

POCO实体:

 public partial class Product    {   

     public Product()        {   

         this.ProductDetail = new HashSet<ProductDetail>();  

      }      

  public int ProductID { get; set; 

}       

 public string ProductName { get; set; 

}      

  public System.DateTime CreateDate { get; set; 

}      

  public int SaleCount { get; set; } 

public Nullable int ClickCount {

 get ; set ; }

 public string Info {get ; set ; } 

public int UserID { get ; set ; } 

public decimal SalePrice { get ; set ; } 

public int Discount {get ; set ; }

 

发表评论
用户名: 匿名