我的请假表为t_leave 外键表为t_employee 相同字段为t_leave.fk_employee 和 t_employee.pk_employee
步骤是根据外键表的name字段查询请假表的信息,链表查询时怎么添加where条件
或者有什么其他的方法查询
from c in db.t_leave join p in db.t_employee on c.fk_employee equals p.pk_employee where p.name='name' select c;
p.name.Contains("关键词") like查询
from c in db.t_leave
join p in db.t_employee
on c.fk_employee equals p.pk_employee
where p.name.Contains("name")
select c;
字符串匹配方面Linq可以翻译
Contains("xx") 为 like "%xx%"
StartWith("xx") 为 like "xx%"
EndWith("xx") 为 like "%xx"
string _name= t_employee.Where(t=>t.你的条件==某个值).Select(t.name).First() //这是外键表的第一条符合你的条件的数据(如果没有会因为.First()报错,这点LZ权衡下吧)
list<t_leave> ls_t_l= t_leave.Where(t=>t.name==_name).tolist(); //name=外键表结果的对象集合
var poco = from A in db.t_leave join left B db.t_employee on A.fk_employee equals B.pk_emplpyee
where A.name = B.name
var datas = t_employee.Include("t_leave").where(f => f.name.Contains(查询的值)).ToList();