RavenDb使用

在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
                             };
        }
    }
posted @ 2013-12-20 16:01  JustDotNet  阅读(319)  评论(0编辑  收藏  举报