在Raven中查询数据,查询条件必须在index中。
如果查询条件不在index中就会出现如下异常
var query = session.DynamicIndexQuery<ServiceProviderCallTransaction>()
.Where(x => x.LocationId == request.Id).ToList()
System.ArgumentException: The field 'LocationId' is not indexed, cannot query on fields that are not indexed
在Raven中创建Index
public class App_ActivityLog : AbstractIndexCreationTask<ActivityLog>
{
public App_ActivityLog()
{
Map = records => from record in records
select new
{
Id = record.Id,
ClientId = record.ClientId,
ActivityDate = record.ActivityDate,
CategoryId = record.CategoryId,
NameId = record.NameId,
StaffId = record.StaffId,
Status_Value = record.Status.Value,
LocationId = record.LocationId,
ProcedureCode = record.ProcedureCode,
Affiliation_Value = record.Affiliation.Value,
SourceReferenceId = record.SourceReferenceId,
ClaimId = record.ClaimId,
ProgramTypeId = record.ProgramTypeId
};
}
}