LINQ动态查询 [英] LINQ dynamic query
本文介绍了LINQ动态查询的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如何动态生成LINQ查询:
How to dynamically generate LINQ query:
int[] IDArray = {55, 36};
public IQueryable<ContactListView> FindAllContacts(int loggedUserID, int[] IDArray)
{
var result = (
from contact in db.Contacts
//Start of dynamic part...
where
contact.UserID == loggedUserID
foreach (var id in IDArray)
{
where contact.UserID == id
}
// End of dynamic part
orderby contact.ContactID descending
select new ContactListView
{
ContactID = contact.ContactID,
FirstName = contact.FirstName,
LastName = contact.LastName
});
return result;
}
谢谢,
伊利(Ile)
Thanks,
Ile
推荐答案
您不能只使用Contains
吗?我假设您要生成一个具有IN
子句的查询.这里有一个示例:使用linq to sql在查询中创建.
Can't you just use Contains
? I assume you want to generate a query that has an IN
clause. There's an example of that here: Creating in queries with linq to sql.
int[] IDArray = {55, 36};
public IQueryable<ContactListView> FindAllContacts(int loggedUserID, int[] IDArray)
{
var result = (
from contact in db.Contacts
where contact.UserID == loggedUserID
&& IDArray.Contains( contact.UserID )
orderby contact.ContactID descending
select new ContactListView
{
ContactID = contact.ContactID,
FirstName = contact.FirstName,
LastName = contact.LastName
});
return result;
}
这篇关于LINQ动态查询的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文