我的實體是:RavenDB:如何使用多個搜索字詞查詢
class Resource
{
string Name;
string EmployeeId;
}
如何查詢多個僱員的資源呢?我試過這個:
Resource[] FindResourcesByEmployees(string[] employeeIds)
{
return this.Session.Query<Resource>()
.Where(r => employeeIds.Contains(r.EmployeeId))
.ToArray();
}
但是,這給了我NotSupportedException:方法不支持:包含。然後我嘗試以下方法:
Resource[] FindResourcesByEmployees(string[] employeeIds)
{
return this.Session.Query<Resource>()
.Where(r => employeeIds.Any(v => v == r.EmployeeId))
.ToArray();
}
這引發NotSupportedException:不支持表達式類型:System.Linq.Expressions.TypedParameterException。
在SQL它會是這樣的:
SELECT * FROM resource WHERE employeeid IN (1, 2, 3)
我的問題是,我該如何執行RavenDB此查詢?
這篇文章也許能幫助您http://stackoverflow.com/questions/4207739/linq-query-with-multiple-contains-any-for-ravendb – JonVD
不,這種情況下,實體本身包含一個集合。在我的情況下,只有查詢包含一個集合,而實體不包含集合。 –