EF中使用linq进行关联查询

时间:2023-03-09 12:58:16
EF中使用linq进行关联查询

EF使用linq进行多表查询是完全可以的,最后ToList()调用的时候回产生一条分页的sql语句,所以并不是全部查询再分页的。所以不会影响查询的性能

 public void TestLinq()
{
var a = from m in DbContext.Set<T1>() join q in DbContext.Set<T2>() on m.ID equals q.ID select m;
a.OrderBy(m=>m.Phone_User).Skip().Take().ToList();
}

我们可以利用dynamic灵活的动态取出指定的字段

 var a = from m in DbContext.Set<T1>() join q in DbContext.Set<T2>() on m.ID equals q.ID select new { m.ID, m.Phone };
a = a.OrderBy(m => m.Phone).Skip().Take();
List<dynamic> c = a.ToList<dynamic>();
var b = c[].ID;

是不是很方便?

相关文章