Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Indexing RavenDB 3.0索引创建:表达式树不能包含动态操作?_Indexing_Expression_Ravendb - Fatal编程技术网

Indexing RavenDB 3.0索引创建:表达式树不能包含动态操作?

Indexing RavenDB 3.0索引创建:表达式树不能包含动态操作?,indexing,expression,ravendb,Indexing,Expression,Ravendb,这是创建简单索引以避免扇出索引的示例代码。但是它不能编译。错误是 “表达式树不能包含动态操作” 如果需要,请移除铸件 IEnumerable<dynamic> IEnumerable 根据代码,它进行编译,但未能生成索引。对于Ravendb3.0用户来说,这应该是一个常见的问题。有什么建议吗 from doc in docs.Users select new { CreditCards_Expired = ( from docCreditCardsItem in ((IE

这是创建简单索引以避免扇出索引的示例代码。但是它不能编译。错误是

“表达式树不能包含动态操作”

如果需要,请移除铸件

IEnumerable<dynamic>
IEnumerable
根据代码,它进行编译,但未能生成索引。对于Ravendb3.0用户来说,这应该是一个常见的问题。有什么建议吗

from doc in docs.Users select new {
CreditCards_Expired = (
    from docCreditCardsItem in ((IEnumerable<dynamic>)doc.CreditCards).DefaultIfEmpty()
    select docCreditCardsItem.Expired).ToArray(),
Roles_Name = (
    from docRolesItem in ((IEnumerable<dynamic>)doc.Roles).DefaultIfEmpty()
    select docRolesItem.Name).ToArray()
来自文档中的文档。用户选择新建{
信用卡过期=(
来自((IEnumerable)doc.CreditCards.DefaultIfEmpty()中的docCreditCardsItem
选择docCreditCardsItem.Expired).ToArray(),
角色名称=(
从((IEnumerable)doc.Roles.DefaultIfEmpty()中的docRolesItem
选择docRolesItem.Name).ToArray()
}

尝试使用:

from doc in docs.Users 
select new {
    CreditCards_Expired = doc.CreditCards.Select(c=>c.Expired),
    Roles_Name = doc.Roles.Select(r=>r.Names)
}
尝试使用:

from doc in docs.Users 
select new {
    CreditCards_Expired = doc.CreditCards.Select(c=>c.Expired),
    Roles_Name = doc.Roles.Select(r=>r.Names)
}

更简洁,更简洁。