OData v4 客户端代码生成器/Microsoft.OData.Core:从非可为空的 int 创建 Nullable<int> 外键
OData v4 Client Code Generator / Microsoft.OData.Core : creating Nullable<int> Foreign Keys from non nullable int
我不确定这是最新 Microsoft.OData.Core 的问题,还是最新的 OData v4 客户端代码生成器中的更改。但是,客户端代码生成器现在在未设置为可为空的 int 的 int 字段上创建可为空的外键。
如此处所讨论:https://visualstudiogallery.msdn.microsoft.com/9b786c0e-79d1-4a50-89a5-125e57475937
问题的解决方法是将 [ForeignKey("ColumnName")]
设置为 [Required, ForeignKey("ColumnName")]
。然后,$metadata 会将相应的外键 int 字段报告为 nullable=false,而 Client Code Generator 将正确生成一个非 nullable int。
在我最近升级 Microsoft.OData.Core
和 OData v4 客户端代码生成器之前,这不是必需的,但是由于我同时升级了它们,所以我无法确定罪魁祸首。
我不确定这是最新 Microsoft.OData.Core 的问题,还是最新的 OData v4 客户端代码生成器中的更改。但是,客户端代码生成器现在在未设置为可为空的 int 的 int 字段上创建可为空的外键。
如此处所讨论:https://visualstudiogallery.msdn.microsoft.com/9b786c0e-79d1-4a50-89a5-125e57475937
问题的解决方法是将 [ForeignKey("ColumnName")]
设置为 [Required, ForeignKey("ColumnName")]
。然后,$metadata 会将相应的外键 int 字段报告为 nullable=false,而 Client Code Generator 将正确生成一个非 nullable int。
在我最近升级 Microsoft.OData.Core
和 OData v4 客户端代码生成器之前,这不是必需的,但是由于我同时升级了它们,所以我无法确定罪魁祸首。