2012-06-30 58 views
0

我在LINQ field.I新一點點有這樣的刪除查詢:如何改變我刪除SQL查詢到LINQ

DELETE FROM Table1 WHERE FK IN (SELECT ID FROM Table2 WHERE UserId = @UId) 

我怎樣才能把它變成一個LINQ查詢?

回答

0

這應該給你一個想法

var itemQuery = from cartItems in db.SalesOrderDetails 
       where cartItems.SalesOrderID == 75144 
       select cartItems.ProductID; 


var myProducts = from p in db.Products 
       where itemQuery.Contains(p.ProductID) 
       select p; 

foreach (var detail in myProducts) 
{ 
    db.myProducts.DeleteOnSubmit(detail); 
} 

try 
{ 
    db.SubmitChanges(); 
} 
catch (Exception e) 
{ 
    Console.WriteLine(e); 
    // Provide for exceptions. 
} 
+0

而不是一個foreach你也可以做'db.myProducts.DeleteAllOnSubmit(我的產品);' – HugoRune