0

我们尝试搜索 stackoverflow 和其他地方,但找不到解决方案。

我们有一堂是这样的。

class UserAccountInfo
{
   public String someid;
   public Object needtoqueryobject; //This can store different object types like AccountInfoCustomer, AccountInfoFriend etc.,
}

我们想像下面这样查询这个类。

var Result = sess.Query<UserAccountInfo>().Where(x => ((AccountInfoCustomer)x.needtoqueryobject).AccountType == usertype);   

但这不受支持,它说无法查询未索引的字段。我们可以理解 RavenDB 无法索引此特定类型,因为它不了解实际类型。有人可以解释如何确保这些类也被索引吗?

添加了 AccountInfoCustomer 类型定义:

using System;

namespace Dheutto.Models
{
public enum AccountTypes
    {
        Customer,
        Trader,
        Distributor
    }

    public class AccountInfoCustomer
    {
        //The AccountNumber for the document
        public String FirstName { get; set; }
        public String MiddleName { get; set; }
        public String LastName { get; set; }
        public String Father_spouse_Name { get; set; }
    public AccountTypes AccountType{ get; set; }
    }
}

这个 AccountInfoCustomer 类型是作为对象存储在需要查询对象字段中的。因此,当我使用类型转换进行查询时,我希望它返回一些结果。如果我错了,请纠正我。

4

1 回答 1

0

如果您的实体中有一个对象,则无法使用 linq 查询该对象。您可以使用 LuceneQuery 和无类型语法进行查询。

于 2013-01-21T15:09:01.000 回答