簡體   English   中英

如何將此sql轉換為Linq C#

[英]How to convert this sql to Linq C#

我有下面的sql我想使用linq轉換為C#。 有人能告訴我如何用linq做到最好嗎?

select A.field1, A.Field2, A.Field4,  A.Field5,  A.Field4 ,A.Field6
from MPhoneParts A

where A.Field3= 'Batteri' AND NOT EXIST(

select * from MPhoneParts B where 

B.Field3='cover'
A.Field2= B.Field2 AND 
A.Field4= B.Field4 AND
B.Field6='Production354')

干杯邁克

可能有更好的方法(很可能使用連接......),但是:

var query = from a in db.MPhoneParts
            where a.Field3 == "Batteri" &&
                  !db.MPhoneParts.Any(b => b.Field3 == "cover" &&
                                           a.Field2 == b.Field2 &&
                                           a.Field4 == b.Field4 &&
                                           b.Field6 == "Production354")
            select a;

我假設您的問題輸入錯誤,您打算檢查NOT IN子句。

這里是關於如何在linq中編寫NOT IN ...的解決方案,希望這會有所幫助:

LINQ to SQL中的NOT IN子句

var qry =
    from a in db.PhoneParts
    where a.Field3 == "Batteri"
    && !db.PhoneParts.Any(b =>
             b.Field3 == "cover"
          && b.Field6 == "Production354"
          && b.Field2 == a.Field2
          && b.Field4 == a.Field4)
    select new { a.Field1, a.Field2, a.Field4, a.Field5, a.Field6 };

但想法:

  • Field1通過Field6可怕的名字
  • 您可以通過db.ExecuteQuery使用現有的SQL

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM