现在程序里定义了两个模型,如下: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类公共属性的类,而不是每次都要一个属性一个属性的赋值。
{
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类公共属性的类,而不是每次都要一个属性一个属性的赋值。
解决方案 »
- 求助,VS2008在服务器资源管理器中添加数据库报错error:26
- C#字符截取
- C#,如果通过HTML代码读取DOM结构内容
- 如何扑获这样事件
- 如果光标已经在一个输入控件的起始位置,按ESC键,就视为无效,因为我有一控件如果光标已经在起始位置,再按ESC就会出错。
- 关于C#中的SNMP
- 在2003服務器下ASP.NET中怎么打開或者執行.BAT文件
- 动态生成类
- BackgroundWorker 正忙错误
- 如何用SqlCommand 对象来执行一条数据库插入语句?
- 用C#做个简单的聊天 工具!!
- 异常System.Web.UI.ViewStateException:Invalid viewstate.刷新后正常
{
public User user;
public string OtherInfo {get; set;}
}
{
public string Name{ get; set;}
public int Age {get; set;}
public string Address {get; set;}
}
建个基类,User和UserDetail继承BaseUser,试试
使用一些Mapping工具,做双向映射填充
AutoMapper
EmitMapper
自定义的ORM - GenerPoint.ORM没用过
是ORM自动生成的类,不是手写的。