我们尝试过搜索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类型是needtoqueryobject字段中存储为对象的类型。因此,当我使用类型转换进行查询时,我希望它返回一些结果。如果我错了,请纠正我。
答案 0 :(得分:0)
如果您的实体中有对象,则无法使用linq进行查询。 可以使用LuceneQuery和无类型语法进行查询。