我在使用实体框架时一直在学习 LINQ Lamda 表达式。但无法找出我的代码(如下所述)不起作用的原因,或者有没有其他方法可以实现它?
tbl_A 是一个实体。
var tbl_A = from e in db.TBL_A select e;
基于 tbl_A 上的某些过滤器,以匿名类型提取两列。
if(value != 0) {tbl_A = tbl_A.Where(a=>a.Id == value);}
var anoType = tbl_A.Select(a=>new {ID = a.ID,NAME = a.NAME});
我正在尝试从 tbl_B 中获取所有记录,其中 ID 和 NAME(两者都匹配)在上述匿名类型中。
var blockUpdate = db.tbl_B.Join(anoType, a => new { a.ID, a.NAME },
b => new { b.ID, b.NAME },(a, b) => new { a });
它给出了编译时错误 - 无法从用法中推断出方法的类型参数。尝试明确指定类型参数。