.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 .... 的情况

相关推荐
paixiaoxin1 小时前
CV-OCR经典论文解读|An Empirical Study of Scaling Law for OCR/OCR 缩放定律的实证研究
人工智能·深度学习·机器学习·生成对抗网络·计算机视觉·ocr·.net
1nullptr1 小时前
三次翻转实现数组元素的旋转
数据结构
TT哇1 小时前
【数据结构练习题】链表与LinkedList
java·数据结构·链表
A懿轩A2 小时前
C/C++ 数据结构与算法【栈和队列】 栈+队列详细解析【日常学习,考研必备】带图+详细代码
c语言·数据结构·c++·学习·考研·算法·栈和队列
1 9 J3 小时前
数据结构 C/C++(实验五:图)
c语言·数据结构·c++·学习·算法
汝即来归3 小时前
选择排序和冒泡排序;MySQL架构
数据结构·算法·排序算法
aaasssdddd966 小时前
C++的封装(十四):《设计模式》这本书
数据结构·c++·设计模式
芳菲菲其弥章6 小时前
数据结构经典算法总复习(下卷)
数据结构·算法
yyyyyyykk6 小时前
数据结构--链表
数据结构·链表
我是一只来自东方的鸭.7 小时前
1. K11504 天平[Not so Mobile,UVa839]
数据结构·b树·算法