c# – RavenDB:返回属性为null值的对象
发布时间:2020-12-15 21:25:33 所属栏目:百科 来源:网络整理
导读:我在ASP.NET MVC中使用Raven如下: [HttpGet]public ActionResult Index(){ ViewBag.Title = Strings.Workflows; ViewBag.AddNewText = Strings.Add_new; IEnumerableWorkflowIndexViewModel model; using (var session = DocumentStore.OpenSession()) { mo
|
我在ASP.NET MVC中使用Raven如下:
[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);
}
奇怪的是模型对象有一个值(正如我所料,因为我知道我的数据库中有一个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);
}
解决方法
如果将视图模型中属性的名称更改为与Workflow类相同,则它将起作用.
model = session.Query<Workflow>()
.Select(w => new WorkflowIndexViewModel { Id = w.Id,Name = w.Name })
.ToArray();
但这只是一个似乎是一个错误或限制的解决方法. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
