LINQ to SQL中有什么in和not in等于什么 ?
例如
select * from table in ( ...)
and
select * from table not in (..)
Run Code Online (Sandbox Code Playgroud)
什么等于LINQ to SQL中的上述语句?
Jor*_*mer 22
你用, where <list>.Contains( <item> )
var myProducts = from p in db.Products
where productList.Contains(p.ProductID)
select p;
Run Code Online (Sandbox Code Playgroud)
或者您可以预定义列表:
int[] ids = {1, 2, 3};
var query = from item in context.items
where ids.Contains( item.id )
select item;
Run Code Online (Sandbox Code Playgroud)
对于'NOT'的情况,只需添加'!' 'Contains'语句之前的运算符.
我对你的问题感到困惑.in并对not in查询中的字段进行操作,但您没有在示例查询中指定字段.所以它应该是这样的:
select * from table where fieldname in ('val1', 'val2')
Run Code Online (Sandbox Code Playgroud)
要么
select * from table where fieldname not in (1, 2)
Run Code Online (Sandbox Code Playgroud)
在LINQ to SQL中等效的那些查询将是这样的:
List<string> validValues = new List<string>() { "val1", "val2"};
var qry = from item in dataContext.TableName
where validValues.Contains(item.FieldName)
select item;
Run Code Online (Sandbox Code Playgroud)
还有这个:
List<int> validValues = new List<int>() { 1, 2};
var qry = from item in dataContext.TableName
where !validValues.Contains(item.FieldName)
select item;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
34428 次 |
| 最近记录: |