.net将List<实体1>的数据转到List<实体2>

比如说有两个实体Class,如下:

cs 复制代码
//实体1
public class People
{
    public string Name {get;set;}
    public int Age {get;set;}
}
//实体2
public class Student
{
    public string Name {get;set;}
    public int Age {get;set;}
    public string ClassRoom {get;set;}//这个是与实体1不相同的地方
}

再比如说,从数据库里查询 People 表有关数据 N条,

现在要将 List<People> 里面的所有数据(listPeople) 全部转移到 List<Student> 中去(listStuden)...

由于 People类 和 Student类 里面的属性差不多(名称一样,类型一样),

可以用 Json对象来过渡一下,先将 listPeople 转成 json字符串, 再将json字符串转成 listStuden

cs 复制代码
using Newtonsoft.Json;

List<People> listPeople = .........;//这里是从数据库里取出数据N条的过程,略
string json = JsonConvert.SerializeObject(listPeople);//将转listPeople成json字符串
List<Student> listStudent = JsonConvert.DeserializeObject<List<Student>>(json);//将json字符串转成listStudent

这个适合于,拥有大量属性的类(有几十个属性的那种),会发现用 foreach 来复制值,会写上一大坨:a.属性1=b.属性1 .... 的情况

相关推荐
iFlyCai1 小时前
C语言中的指针
c语言·数据结构·算法
查古穆1 小时前
栈-有效的括号
java·数据结构·算法
汀、人工智能1 小时前
16 - 高级特性
数据结构·算法·数据库架构·图论·16 - 高级特性
汀、人工智能4 小时前
[特殊字符] 第2课:字母异位词分组
数据结构·算法·链表·数据库架构··字母异位词分组
网安INF4 小时前
数据结构第一章复习:基本概念与算法复杂度分析
数据结构·算法
xiaoye-duck6 小时前
【C++:哈希表封装】哈希表封装 myunordered_map/myunordered_set 实战:底层原理 + 完整实现
数据结构·c++·散列表
汀、人工智能6 小时前
[特殊字符] 第3课:最长连续序列
数据结构·算法·数据库架构·图论·bfs·最长连续序列
Kethy__6 小时前
计算机中级-数据库系统工程师-数据结构-图
数据结构·算法·软考··数据库系统工程师·计算机中级
亿秒签到7 小时前
L2-007 家庭房产
数据结构·c++·算法
paeamecium7 小时前
【PAT甲级真题】- Longest Symmetric String (25)
数据结构·c++·算法·pat考试