从实体框架中的两个表中选择查询

时间:2016-09-25 12:32:03

标签: asp.net-mvc entity-framework

 select p.ProduitNom,v.VonduDate,p.ProduitPrix from Produits p,Vondus v
 where p.ProduitId = v.ProduitId and p.CentreId=1

如何在实体框架中执行此请求。

2 个答案:

答案 0 :(得分:2)

你可以这样做,如下所示。

内部加入:

from p in db.Produits
join v in db.Vondus  on p.ProduitId equals v.ProduitId
where p.CentreId=1
select new {
               ProduitNom = p.ProduitNom,
               VonduDate = v.VonduDate,
               ProduitPrix = p.ProduitPrix
           }

如果您想学习,可以参考:Queries in LINQ to Entities

答案 1 :(得分:1)

您可以使用Join

编辑: 您应首先使用上下文连接数据库,否则至少需要2个列表:

List<Produits> Produits = new List<Produits>();
List<Vondus> Vondus = new List<Vondus>();

然后使用下面的lambda表达式:

var res = Produits.Join(Vondus, p => p.ProduitId, v => v.ProduitId,
                    (p, v) => new { p, v })
                    .Where(pv => pv.p.ProduitId == pv.v.ProduitId && pv.p.CentreId == 1)
                    .Select(pv => new { pv.p.ProduitNom, pv.v.VonduDate, pv.p.ProduitPrix)
                    .ToList();

res将包含ProduitNomVonduDateProduitPrix

的列表内容