我在 OData 文档中看到有 Edm 类型 DateTime 。目前在我的数据库中有许多 DATE 字段在 EF 中表示为 DateTimes,因此 ODataConventionModelBuilder 将它们声明为 Edm.DateTime 。如何将它们更改为 Edm.Date

希望我能做到这一点:

entityType.Property(p => p.AgreementDate).EdmType = EdmType.Date;

最佳答案

某些属性对应的 Edm 类型是从 CLR 类型映射而来的,并且不能被 ODataConventionModelBuilder 覆盖。

如果要更改 Edm 类型,可以在 ODataConventionModelBuilder 中忽略这些属性。

通过在 ODataConventionModelBuilder 上调用 GetEdmModel 获得 Edm 模型后,您可以通过调用 OData API 将这些带有 Edm.Date 的属性添加到 Edm 模型中。

关于asp.net-web-api - 在 ODataConventionModelBuilder 中设置数据类型,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24157946/

10-11 15:14