如何把一个模型快速的赋值给另一个模型
现在程序里定义了两个模型,如下:
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 class UserDetail
{
public User user;
public string OtherInfo {get; set;}
}
--------------------编程问答-------------------- public class BaseUser
{
public string Name{ get; set;}
public int Age {get; set;}
public string Address {get; set;}
}
建个基类,User和UserDetail继承BaseUser,试试 --------------------编程问答-------------------- 有个东西,叫继承。
有本书,叫《面向对象》 --------------------编程问答-------------------- linq to entity --------------------编程问答-------------------- 方法1:序列化,再反序。
方法2:反射挨个赋值。
方法3:动态生成代码。 --------------------编程问答-------------------- TechED2011上微软mvp说
使用一些Mapping工具,做双向映射填充
AutoMapper
EmitMapper
自定义的ORM - GenerPoint.ORM
没用过 --------------------编程问答--------------------
我用的是LINQ --------------------编程问答--------------------
是ORM自动生成的类,不是手写的。 --------------------编程问答--------------------
没有了解过,能否说的详细一点。
补充:.NET技术 , C#