using (var session = _documentStore.OpenSession())
{
var fileFragments = session.Query<CategorizedFiles.Result, CategorizedFiles>()
.Where(x => x.HasVectors && x.HasExtractedData && x.HasBeenCategorized == false && x.IsReferenceImage == false)
.Take(numberOfFiles).ToArray()
.Select(v => new FileFragment { Id = v.Id }).ToArray();
var ids = fileFragments.Select(f => f.Id).ToArray();
var files = session.Load<SystemFile>(ids);
return files;
}
public class CategorizedFiles : AbstractIndexCreationTask<SystemFile>
{
public class Result
{
public string Id { get; set; }
public bool IsReferenceImage { get; set; }
public bool HasVectors { get; set; }
public bool HasBeenCategorized { get; set; }
public bool HasExtractedData { get; set; }
}
public CategorizedFiles()
{
Map = files =>
from file in files
select new
{
file.Id,
IsReferenceImage = file.Data.ContainsKey("StudentId"),
HasVectors = file.Data.ContainsKey("FaceVectors"),
HasBeenCategorized = file.Data.ContainsKey("HasBeenCategorized") && (bool)file.Data["HasBeenCategorized"],
HasExtractedData = file.Data.ContainsKey("HasExtractedData") && (bool)file.Data["HasExtractedData"]
};
}
}
using (var session = _documentStore.OpenSession())
{
var fileFragments = session.Query<CategorizedFiles.Result, CategorizedFiles>()
.Where(x => x.HasVectors && x.HasExtractedData && x.HasBeenCategorized == false && x.IsReferenceImage == false)
.ProjectInto<FileFragment>()
.Take(numberOfFiles)
.ToArray();
var ids = fileFragments.Select(f => f.Id).ToArray();
var files = session.Load<SystemFile>(ids);
return files;
}
Hibernating Rhinos Ltd
Oren Eini l CEO l Mobile: + 972-52-548-6969
Office: +972-4-622-7811 l Fax: +972-153-4-622-7811
--
You received this message because you are subscribed to the Google Groups "RavenDB - 2nd generation document database" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ravendb+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
public class QuickTest
{
public void InvalidCastExceptionDemo()
{
var dbName = "Demo";
var store = new DocumentStore { Urls = new[] { "http://localhost:5003" }, Database = dbName };
store.Initialize();
var databaseNames = store.Maintenance.Server.Send(new GetDatabaseNamesOperation(0, 25));
if (databaseNames.Contains(dbName) == false)
store.Maintenance.Server.Send(new CreateDatabaseOperation(new DatabaseRecord(dbName)));
store.OnBeforeQuery += (sender, beforeQueryExecutedArgs) => { beforeQueryExecutedArgs.QueryCustomization.WaitForNonStaleResults(); };
IndexCreation.CreateIndexes(GetType().Assembly, store);
using (var session = store.OpenSession())
{
session.Store(new DemoObject { Id = "TEST 1", Hash = "HASH 1", Name = "1" });
session.SaveChanges();
}
using (var session = store.OpenSession())
{
var indexResults = session.Query<DemoIndex.Result, DemoIndex>()
.Where(r => r.Hash == "HASH 1")
.Take(10).ToArray()
.Select(x => new DemoContainer { Id = x.Id }).ToArray();
var ids = indexResults.Select(x => x.Id).ToArray();
var loadResults = session.Load<DemoObject>(ids);
}
}
}
public class DemoIndex : AbstractIndexCreationTask<DemoObject>
{
public class Result
{
public string Id { get; set; }
public string Hash { get; set; }
}
public DemoIndex()
{
Map = files =>
from file in
files
select new { file.Id, file.Hash };
}
}
public class DemoObject
{
public string Id { get; set; }
public string Name { get; set; }
public string Hash { get; set; }
}
public class DemoContainer
{
public string Id { get; set; }
}
To unsubscribe from this group and stop receiving emails from it, send an email to ravendb+u...@googlegroups.com.
To unsubscribe from this group and stop receiving emails from it, send an email to ravendb+unsubscribe@googlegroups.com.
using (var session = store.OpenSession())
{
var indexResults = session.Query<DemoIndex.Result, DemoIndex>()
.Where(r => r.Hash == "HASH 1")
.Take(10).ToArray()
.Select(x => new DemoContainer { Id = x.Id }).ToArray();
var ids = indexResults.Select(x => x.Id).ToArray();
var loadResults = session.Load<DemoObject>(ids);
}
using (var session = store.OpenSession())
{
var indexResults = session.Query<DemoIndex.Result, DemoIndex>()
.Where(r => r.Hash == "HASH 1")
.ProjectInto<DemoContainer>()
.Take(10).ToArray();
var ids = indexResults.Select(x => x.Id).ToArray();
var loadResults = session.Load<DemoObject>(ids);
}
using (var session = store.OpenSession())
{
var indexResults = session.Query<DemoIndex.Result, DemoIndex>()
.Where(r => r.Hash == "HASH 1")
.OfType<DemoContainer>()
.Take(10).ToArray();
var ids = indexResults.Select(x => x.Id).ToArray();
var loadResults = session.Load<DemoObject>(ids);
}
To unsubscribe from this group and stop receiving emails from it, send an email to ravendb+unsubscribe@googlegroups.com.