复习:关系数据库的意义就是多表关联
一对一、一对多、多对多的关系
一、Linq内连接
内连接与sql中的inner join 一样,即找出两个序列表的交集
语法:from 别名1 in dbcontext.表1
join 别名2 in db.context .表2 on 别名1.sid equals 别名2.sid
where 设置条件 select new 返回类模型{
ID = B.ID,
Name=p.Name,
ProName = B.ProName,
ProAddress = B.ProAddress,
Input = B.Input,
Date = (DateTime)B.Date,
Charge = B.Charge,
Unit = B.Unit,
Amount = (decimal)B.Amount,
Contacts = B.Contacts,
Tel = B.Tel
}).ToList();
select new 模型类 对应着数据库的字段,根据别名点出来
equals 关键字把两个表关联起来
二、lamda
1.Join():
两表不必含有外键关系,需要代码手动指定连接外键相等(具有可拓展性,除了值相等,还能指定是>,<以及其他对两表的相应键的关系),以及结果字段。
//lamda方式
var query = _Testdb.Bidding.Join(_Testdb.ProjectType, m1 => m1.ProTypeID, m2 => m2.ID, (x1, x2) => new ResultData {
Biddings=x1,
ProTypeName=x2.Name
}).ToList();
lamda表达式方式,使用join关键字把两个表的外键字段关联起来。