现在程序里定义了两个模型,如下:public class User
{
      public string Name{ get; set;}
      public int Age {get; set;}
      public string Address {get; set;}
}public class UserDetail
{
      public string Name{ get; set;}
      public int Age { get; set;}
      public string Address {get; set;}
      public string OtherInfo {get; set;}
}public class User....
{
      包含User的共有属性和其他属性
}两个模型类的是大的模型包含小的模型的所有属性,我现在想定义一个方法,传入一个Datarow,一个类型名返回相应的Model。如:public object GetUserModel(string type,DataRow dr)
{
      Model.User user = new Model.User();
      user.Name = dr["name"];
      user.Age = dr["age"];
      user.Address = dr["address"];      if(type = 'User')
      {
          return user;
      }
      else if(type='UserDetail')
      {
          Model.UserDetail detail = new UserDetail();
          detail.Name = user.Name;
          detail.Age = user.Age;
          detail.Address = user.Address;
          return detail
      }
      else if(type = '....')
      {
                 ..............
      }
}
现在我的问题就是,如何快速的把User类的全部属性赋值给UserDetail类和其他包含User类公共属性的类,而不是每次都要一个属性一个属性的赋值。

解决方案 »

  1.   

    public class UserDetail
    {
          public User user;
          public string OtherInfo {get; set;}
    }
      

  2.   

    public class BaseUser
    {
          public string Name{ get; set;}
          public int Age {get; set;}
          public string Address {get; set;}
    }
    建个基类,User和UserDetail继承BaseUser,试试
      

  3.   

    TechED2011上微软mvp说
    使用一些Mapping工具,做双向映射填充
    AutoMapper
    EmitMapper
    自定义的ORM - GenerPoint.ORM没用过
      

  4.   


    是ORM自动生成的类,不是手写的。