从SQL转换为LINQ查询

时间:2018-07-24 07:28:10

标签: c# sql linq

我只想将以下查询转换为LINQ表达式。

Select * 
from customer 
where customer_id in
    (select customer_id from cust where username=name)

3 个答案:

答案 0 :(得分:2)

因此,您有两个表:Cust表和Customer表。两个表均具有属性CustomerIdCust表还具有属性UserName

现在给定一个字符串变量name,您希望Customers表中的所有元素CustomerId等于{{1}中所有元素的CustomerId }}表中的Cust等于UserName

好像是加入我的行列:

name

答案 1 :(得分:0)

假设您有权访问dbcontext.customer中的客户表和dbcontext.cust中的客户表

var name = "desired username"
var result = dbcontext.customer.Where(customer => dbcontext.cust.Where(cust => cust.username == name).Select(cust => cust.customer_id).Any(cust => cust == customer.customer_id)).ToList();

答案 2 :(得分:0)

请尝试这个;

var custList = ctx.Customer.Where(x=>x.username==name).ToList();

var finalList=ctx.Customer.ToList().Where(x=>custList.Select(x=>x.customer_id).ToList().Contains(x.customer_id))