Jos*_*hit 5 c# odata nodatime .net-core asp.net-core
我在AspNetCore OData-webapp中使用NodaTime作为DateTime-API。一切都按预期进行,直到序列化为止。这是我的entityBase。
public class DbEntity
{
public Instant CreateDate { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
这是我的Startup-ConfigureServices方法:
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1)
.AddJsonOptions(options => options.SerializerSettings.ConfigureForNodaTime(DateTimeZoneProviders.Tzdb));
services.AddDbContext<DefaultContext>(
options => options
.UseLazyLoadingProxies()
.UseNpgsql(Configuration.GetConnectionString("someString"), o => o.UseNodaTime()));
services.AddTransient<ICrudEditable, CrudEditable>();
services.AddOData();
Run Code Online (Sandbox Code Playgroud)
我Microsoft.AspNetCore.OData 7.0.1 NodaTime 2.4.0与NodaTime.Serialization.JsonNet 2.0.0和一起使用Version Newtonsoft.Json 11.0.2。
动作:
// GET api/values
[HttpGet]
public ActionResult Get ( )
{
return Ok(new DbEntity { CreateDate = SystemClock.Instance.GetCurrentInstant() });
}
Run Code Online (Sandbox Code Playgroud)
到目前为止一切都很好。这是默认值控制器(源自ControllerBase)的操作。但是,如果我在操作从Controller派生自ODataController的情况下进行以下调用,则CreateDate为空:
[EnableQuery]
[ODataRoute("entity")]
public IActionResult Get()
{
return Ok(new DbEntity { CreateDate = SystemClock.Instance.GetCurrentInstant() });
}
Run Code Online (Sandbox Code Playgroud)
没有错误,没什么,只是空..
编辑 我在github上提出了一个问题,对于对此问题感兴趣的任何人:https : //github.com/OData/WebApi/issues/1626
| 归档时间: |
|
| 查看次数: |
518 次 |
| 最近记录: |