Linq 如何使用实体框架进行连接
如何与另一个Linq 如何使用实体框架进行连接,linq,entity-framework,Linq,Entity Framework,如何与另一个实体进行连接 我有这个 IEnumerable im=db.San_Imovel.Where(a=>a.Credenciada_Id.Equals(10)) 我想要一个加入San_Imovel_CaraCharacteristica。主键和外键被称为imevel_Id 我试试这个 IEnumerable im=db.San_Imovel.Join.(IEnumerable,i=>Imovel_id,a=>Imovel_id)。其中(a=>a.Credenciada_id.等于(10)
实体进行连接
我有这个
IEnumerable im=db.San_Imovel.Where(a=>a.Credenciada_Id.Equals(10))代码>
我想要一个加入San_Imovel_CaraCharacteristica
。主键和外键被称为imevel_Id
我试试这个
IEnumerable im=db.San_Imovel.Join.(IEnumerable,i=>Imovel_id,a=>Imovel_id)。其中(a=>a.Credenciada_id.等于(10))代码>
但这是一个错误的代码。有语法错误。在Join之后有一个不应该存在的“.”基本上,Join是这样的
var query = from EntityNetimoveis.San_Imovel i in db.San_Imovel
join EntityNetimoveis.San_Imovel_Caracteristica c in db.San_Imovel_Caracteristica on i.imovel_id equals c.imovel_Id
select i;
return query.ToList();
var im =
db.San_Imovel.Join(db.San_Imovel_Caracteristica, i => i.imovel_id, a => a.imovel_Id, (i, a) => a)
.Where(a => a.Credenciada_Id.Equals(10));
编辑:
比如说,
var result = db.ATable
.Where(a => a.Name == 'test')
.Join(db.BTable, a => a.Id, b => b.Id, (a, b) => a);
嗯,但这并不能解决问题:PI需要最接近我使用的逻辑的东西。使用lambda表达式,我认为我们是最接近的解决方案。但是我在你开发的这个解决方案中有一个错误<代码>无法从用法推断方法“System.Linq.Enumerable.Join”的类型参数。尝试明确地指定类型参数。
这是什么(i,a)=>a
?是否比较相同的类型?例如,i.imovel_id和a.imovel_id都必须是整数。(i,a)=>a表示选择San_imovel_特征表。如果您将其更改为(i,a)=>i,它将返回San_Imovel table。