如下图所示关系型数据,LinQ语句为:
var Query= from a in data.A where a.admin==传入的用户名&&a.pwd==传入的密码(可以传入一个model实体) join b in data.B on a.bid equals b.id into ab from r1 in ab.DefaultIfEmpty() join c in data.C on r1.cid equals c.id into bc from r2 in bc.DefaultIfEmpty() join d in data.D on r2.did equals d.id into cd from r3 in cd.DefaultIfEmpty()
select new { //这里是table A 的id; Id = a.Id, //这里是table B的Name; Name = r1.Name, Pro = r2.Pro, IpAdd = r3.IpAdd }; //转成数组形式; var list = Query.ToList(); //list[0].Name即表示整个LinQ查询的结果的第一条数据的table B的Name,以此类推;
注: r1可以.出table B的所有数据...以此类推;
r2==table C;
r3==table D;
原文:http://www.cnblogs.com/lindaguoflh/p/4624815.html