Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linq 如何使用实体框架进行连接_Linq_Entity Framework - Fatal编程技术网

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。