可以使用LINQ to SQL查詢使用NOT IN?使用「NOT IN」進行LINQ to SQL查詢
如SELECT的au_lname,狀態從作者的WHERE狀態NOT IN( 'CA', 'IN', 'MD')
可以使用LINQ to SQL查詢使用NOT IN?使用「NOT IN」進行LINQ to SQL查詢
如SELECT的au_lname,狀態從作者的WHERE狀態NOT IN( 'CA', 'IN', 'MD')
List<string> states = new List<string> { "CA", "IN", "MD" };
var q = from a in authors
where !states.Contains(a.state)
select new { a.au_lname, a.state };
或
var q = authors.Where(a => !states.Contains(a.state))
.Select(a => new { a.au_lname, a.state });
這裏有一個例子:
NorthwindDataContext dc = new NorthwindDataContext();
dc.Log = Console.Out;
var query =
from c in dc.Customers
where !(from o in dc.Orders
select o.CustomerID)
.Contains(c.CustomerID)
select c;
foreach (var c in query) Console.WriteLine(c);
您可以使用Contains:
var states = new[] {"CA", "IN", "MD"};
var query = db.Authors.Where(x => !states.Contains(x.state));
是的!
下面是一個例子,從代碼中,我們已經寫了:
List<long> badUserIDs = new List { 10039309, 38300590, 500170561 };
BTDataContext dc = new BTDataContext();
var items = from u in dc.Users
where !badUserIDs.Contains(u.FbUserID)
select u;
生成的SQL結果是:
{SELECT [t0].[UserID], [t0].[FbUserID], [t0].[FbNetworkID], [t0].[Name], FROM [dbo].[Users] AS [t0] WHERE NOT ([t0].[FbUserID] IN (@p0, @p1, @p2)) }
有沒有真正需要做的子查詢 - 中包含/!包含將在主查詢的上下文中工作。 – Rob 2008-12-05 17:04:23