Asp.net mvc MVC匿名JSON返回不正确的布尔值?

Asp.net mvc MVC匿名JSON返回不正确的布尔值?,asp.net-mvc,json,ravendb,Asp.net Mvc,Json,Ravendb,我正在用RavenDB实现一个完整的日历 我做了一个简单的,像往常一样匿名返回一个模型 public JsonResult GetHolidays() { return Json(Session.Query<Models.Holiday>().Select(d => new { id = d.Id, title = d.Name, start = d.DateStart,

我正在用RavenDB实现一个完整的日历

我做了一个简单的,像往常一样匿名返回一个模型

public JsonResult GetHolidays()
{
    return Json(Session.Query<Models.Holiday>().Select(d => new 
        { 
          id = d.Id, 
          title = d.Name, 
          start = d.DateStart, 
          end = d.DateEnd,
          allDay = true
        }), JsonRequestBehavior.AllowGet);
}

我已经做过很多次了。为什么返回的结果是
false


即使我将其设置为
false
,它也会保持
false
。我清除了缓存并重新启动了很多次。不知道为什么会这样。有人知道我做错了什么吗?

不完全确定这会如何影响匿名类型,但您必须在查询RavenDB会话后使用
.ToList()

它类似于源自/继承自数据库模型的匿名类型?不知道如何解释这种行为

public JsonResult GetHolidays()
{
    return Json(Session.Query<Models.Holiday>()**.ToList()**.Select(d => new 
        { 
          id = d.Id, 
          title = d.Name, 
          start = d.DateStart, 
          end = d.DateEnd,
          allDay = true
        }), JsonRequestBehavior.AllowGet);
}
publicjsonresult GetHolidays()
{
返回Json(Session.Query()**.ToList()**.Select(d=>new
{ 
id=d.id,
title=d.名称,
start=d.DateStart,
end=d.DateEnd,
全天
}),JsonRequestBehavior.AllowGet);
}

不完全确定这会如何影响匿名类型,但您必须在查询RavenDB会话后使用
.ToList()

它类似于源自/继承自数据库模型的匿名类型?不知道如何解释这种行为

public JsonResult GetHolidays()
{
    return Json(Session.Query<Models.Holiday>()**.ToList()**.Select(d => new 
        { 
          id = d.Id, 
          title = d.Name, 
          start = d.DateStart, 
          end = d.DateEnd,
          allDay = true
        }), JsonRequestBehavior.AllowGet);
}
publicjsonresult GetHolidays()
{
返回Json(Session.Query()**.ToList()**.Select(d=>new
{ 
id=d.id,
title=d.名称,
start=d.DateStart,
end=d.DateEnd,
全天
}),JsonRequestBehavior.AllowGet);
}

RavenDB不提供从索引中选择用户提供的值的方法。 您的查询尝试在查询期间进行(非常简单,但仍然)计算,而RavenDB不支持这一点。
您可以在查询从RavenDB返回后添加该属性。

RavenDB不提供从索引中选择用户提供的值的方法。 您的查询尝试在查询期间进行(非常简单,但仍然)计算,而RavenDB不支持这一点。
您可以在查询从RavenDB返回后添加该属性。

您如何读取
全天
属性?使用Javascript?密钥名称是否不正确-例如,
响应[0]['alllDay']
-导致您得到一个
未定义的值,然后将其解释为错误?读取?我只是将浏览器指向url
/Home/GetHolidays
,这是返回的字符串,值为
false
。奇怪的是,我输入了
“true”
,然后返回值
null
?搞什么鬼?即使它是第一个属性,但没有区别,其余属性也可以工作。出于调试目的,请将查询结果存储在局部变量中。然后在将结果作为JSON返回之前放置一个断点。我想知道RavenDB查询是否是这里的问题。
Select
方法是采用
Func
还是采用
表达式
?如果使用全天=(布尔值)trueah会发生什么?我想出来了!这真奇怪!请尽快回答。您如何全天阅读
属性?使用Javascript?密钥名称是否不正确-例如,
响应[0]['alllDay']
-导致您得到一个
未定义的值,然后将其解释为错误?读取?我只是将浏览器指向url
/Home/GetHolidays
,这是返回的字符串,值为
false
。奇怪的是,我输入了
“true”
,然后返回值
null
?搞什么鬼?即使它是第一个属性,但没有区别,其余属性也可以工作。出于调试目的,请将查询结果存储在局部变量中。然后在将结果作为JSON返回之前放置一个断点。我想知道RavenDB查询是否是这里的问题。
Select
方法是采用
Func
还是采用
表达式
?如果使用全天=(布尔值)trueah会发生什么?我想出来了!这真奇怪!尽快回答。我希望有人能给出一个很好的技术回答。我只接受让我知道真相的答案:)看起来RavenDB查询提供程序有一个bug。通过调用ToList(或AsEnumerable),可以将LINQ转换为没有bug的对象。你应该报告这个错误。我希望有人能给出一个好的技术答案。我只接受让我知道真相的答案:)看起来RavenDB查询提供程序有一个bug。通过调用ToList(或AsEnumerable),可以将LINQ转换为没有bug的对象。您应该报告此错误。感谢您解释实际问题。感谢您解释实际问题。