Я использую Raven в ASP.NET MVC следующим образом:
[HttpGet]
public ActionResult Index()
{
ViewBag.Title = Strings.Workflows;
ViewBag.AddNewText = Strings.Add_new;
IEnumerable<WorkflowIndexViewModel> model;
using (var session = DocumentStore.OpenSession())
{
model = session.Query<Workflow>()
.Select(w => new WorkflowIndexViewModel { WorkflowId = w.Id, WorkflowName = w.Name })
.ToArray();
}
return View(model);
}
Странно то, что у объекта model
есть одно значение (как я и ожидал, потому что я знаю, что у меня естьодин Workflow
документ в моей базе данных), но оба свойства WorkflowId
и WorkfloName
в нем null
.Почему это?Есть ли проблема с моей проекцией?
Я пытался переместить вызов ToArray()
на до Select()
, и это прекрасно работает:
[HttpGet]
public ActionResult Index()
{
ViewBag.Title = Strings.Workflows;
ViewBag.AddNewText = Strings.Add_new;
IEnumerable<WorkflowIndexViewModel> model;
using (var session = DocumentStore.OpenSession())
{
model = session.Query<Workflow>()
.ToArray()
.Select(w => new WorkflowIndexViewModel { WorkflowId = w.Id, WorkflowName = w.Name });
}
return View(model);
}