在最近的人事项目重构以及即将开始jrkj项目都会用到实体对像连接查询的问题。在原来的原生SQL开发中,可以利用join关键字去写SQL语句进行查询。但是利用现在的Entity Framework怎么查询呢?
用到两种方法:1.join()。2.Include()。这两种方法都是Entity Framework封装好的实体连接的方法。
1.join方法不需要两个实体之间有关系。需要指定连接的两个字段相等。
例如:有两个实体对象,一个是学生实体,一个是分数实体。两种的关系是一个学生对应多个分数,一个分数对应学生。
查询这两个实体连接的数据:
var test = te.t_resultinfo.Join(te.t_studentinfo, a => a.STUDENTID, g => g.STUDENTID, (a, g) => new { a.RESULT,g.STUDENTNAME }).ToList();
2.Include(),两实体需要有关联关系。查询实体时,使用 Include(),会在读取本实体时把指定的关联的数据信息也读出来。
查询这个两个实体连接的数据:
var test = te.t_resultinfo.Include("studentinfo").ToList();
总之,这是实体连接查询的两种方式,join不需要实体关联关系,Incoude需要关联关系。这两种方式都可以用到将要做的项目中。