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(
2).Take(
2).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(
2).Take(
2);
List<
dynamic> c = a.ToList<
dynamic>
();
var b = c[
0].ID;
是不是很方便?
转载于:https://www.cnblogs.com/njcxwz/p/5885490.html