【问题标题】:Dose any one know why post man is returning null values from fields that are not on my sql table?任何人都知道为什么邮递员从不在我的 sql 表中的字段返回空值?
【发布时间】:2025-12-23 21:40:06
【问题描述】:

所以我对 SQL 和 Web API 还是很陌生,但是这里有……我的数据库中有 4 个表,3 个表有外键输入另一个。我已经能够在邮递员中显示我的数据。虽然邮递员给了我额外的数据字段,底部有“空”条目。我正在获取的表中不存在这些字段。尽管它们出现在我的其他表中。

这是我的数据表的样子

这是我的模型 - 我认为这可能是因为模型中的这些虚拟类。如果是这样,我怎样才能阻止它们针对这个特定的 HTTP 获取请求显示。

我不太确定这是怎么回事

对大量图像感到抱歉,不要不知道那是什么:D 任何帮助将不胜感激

【问题讨论】:

  • 你用什么来序列化的?您将需要在这四个属性上使用类似 [JsonIgnore] 的属性。
  • 我的项目中只有一个 .gitignore 文件。如何添加 [JsonIgnore] 以及如何将其配置为不显示这些字段?
  • 搞定了。非常感谢@Charlieface。 :D
  • 顺便说一句,如果您将数据库实体用作前端的模型,您可能希望停止,而是使用仅包含前端需要的属性/属性的类和其他类(数据库实体)用于与数据库交互。 AitoMapoer 可以将前端数据传输对象转换为数据库实体对象并返回

标签: asp.net json api postman


【解决方案1】:

使用 [JsonIgnore] 标记您的属性:

[JsonIgnore]
public virtual TblModelName Name { get;...

为了防止它被序列化。我相信这个属性适用于NewtonSoft.JsonSystem.Text.Json

【讨论】: