Asp.net mvc 使用Linqtosql,如何基于UserID';s
使用linqtosql,如果我有一个要获取的用户ID数组,如何获取用户对象的集合?您可以使用Contains检查每个用户ID是否在您拥有的数组中Asp.net mvc 使用Linqtosql,如何基于UserID';s,asp.net-mvc,linq-to-sql,Asp.net Mvc,Linq To Sql,使用linqtosql,如果我有一个要获取的用户ID数组,如何获取用户对象的集合?您可以使用Contains检查每个用户ID是否在您拥有的数组中 int[] userIDs = ... var users = db.Users.Where( u => userIDs.Contains( u.UserID ) ); 您可以使用Contains检查每个UserID是否都在您拥有的数组中 int[] userIDs = ... var users = db.Users.Where( u =&g
int[] userIDs = ...
var users = db.Users.Where( u => userIDs.Contains( u.UserID ) );
您可以使用Contains检查每个UserID是否都在您拥有的数组中
int[] userIDs = ...
var users = db.Users.Where( u => userIDs.Contains( u.UserID ) );
试试这个:
using(var db=new MyDataContext())
{
var users=db.Users.Where(u=>userIds.Contains(u.Id));
}
试试这个:
using(var db=new MyDataContext())
{
var users=db.Users.Where(u=>userIds.Contains(u.Id));
}
如果希望避免使用集合操作和用户链接的ORs,则可以使用来帮助您 事情是这样的:
var userIDs = new[] { 1, 2, 3, 4, 5 };
// build multiple OR expressions
var filter = PredicateBuilder.False<User>();
foreach (var id in userIDs) {
filter = filter.Or(x => x.UserID == id);
}
// fetch data
using (var db = new TheDataContext()) {
var users = db.Users.Where(filter);
// wham! - we have users now.
}
var userIDs=new[]{1,2,3,4,5};
//生成多个或多个表达式
var filter=PredicateBuilder.False();
foreach(userid中的变量id){
filter=filter.Or(x=>x.UserID==id);
}
//获取数据
使用(var db=new TheDataContext()){
var users=db.users.Where(过滤器);
//哇!-我们现在有用户了。
}
看看这篇博文,了解它是如何工作的。这基本上是为列表中的每个用户id创建一个长链ORs,然后将其传递给WHERE子句。如果您想避免设置操作和用户链ORs,可以使用来帮助您 事情是这样的:
var userIDs = new[] { 1, 2, 3, 4, 5 };
// build multiple OR expressions
var filter = PredicateBuilder.False<User>();
foreach (var id in userIDs) {
filter = filter.Or(x => x.UserID == id);
}
// fetch data
using (var db = new TheDataContext()) {
var users = db.Users.Where(filter);
// wham! - we have users now.
}
var userIDs=new[]{1,2,3,4,5};
//生成多个或多个表达式
var filter=PredicateBuilder.False();
foreach(userid中的变量id){
filter=filter.Or(x=>x.UserID==id);
}
//获取数据
使用(var db=new TheDataContext()){
var users=db.users.Where(过滤器);
//哇!-我们现在有用户了。
}
看看这篇博文,了解它是如何工作的。这基本上是为列表中的每个用户id创建一个长链ORs,然后将其传递给WHERE子句。我只想注意,这会生成一个使用集合比较(in)的非常难看的查询,而不仅仅是生成一个长WHERE子句。我只想注意,这会生成一个使用集合比较(in)的非常难看的查询而不仅仅是生成一个长WHERE子句。这就是答案。LINQtoSQL表达式中使用的IENumerable.Contains()方法将生成SQL in()函数。这就是答案。LINQtoSQL表达式中使用的IENumerable.Contains()方法将生成SQL in()函数。这只是猜测,但这是针对asp.net MVC的吗?是的,这是针对asp.net MVC的为什么?这只是猜测,但这是针对asp.net MVC的吗?是的,这是针对asp.net MVC的为什么?