gpt4 book ai didi

c# - .NET API 未插入 SQL Server,但没有错误

转载 作者:行者123 更新时间:2023-11-30 18:47:46 25 4
gpt4 key购买 nike

我有一个 ASP.NET MVC 应用程序,我向其中添加了 Web API 以接收 Json 并将内容插入到 SQL Server 中。在移动 Cordova 应用程序和 Rest Api 测试中,我获得 200 的 Http 状态。但是没有插入记录。

这是类和DBContext:

public class MobileController : ApiController
{
private PTSContext db = new PTSContext();

//all the code....
}

我创建了这个类来处理来自 Http 请求的 json 主体。

public class DailyCrewActivityJson
{
[JsonProperty("api_id")]
public string api_id { get; set; }

[JsonProperty("api_daily_crew_id")]
public string api_daily_crew_id { get; set; }

[JsonProperty("api_contract_id")]
public string api_contract_id { get; set; }

[JsonProperty("api_contract_task_id")]
public string api_contract_task_id { get; set; }

}

我有这个类来处理插入。

[HttpPost]
[Route("api/mobile/insertdailycrewactivity")]
public IHttpActionResult InsertDailyCrewActivity([FromBody] DailyCrewActivityJson crewActivityJson)
{
DailyCrewActivity d = new DailyCrewActivity();
d.id = crewActivityJson.api_id;
d.daily_crew_id = crewActivityJson.api_daily_crew_id;
d.contract_id = crewActivityJson.api_contract_id;
d.contract_task_id = crewActivityJson.api_contract_task_id;

db.DailyCrewActivities.Add(d);
db.SaveChanges();

return Ok();
}

这个图案好看吗?我尝试从高级 REST 客户端手动执行 POST,但我仍然没有收到插入或错误。

这是我的 url 和我的 json 正文的样子:

https://<my url.com>/api/mobile/insertdailycrewactivity

JSON:

{
"api_id": "74849939162039260-1569958529936",
"api_daily_crew_id": "21273665486597612-1569862557128",
"api_contract_id": "eef03be7-82b9-4066-93d9-cb64d346481c",
"api_contract_task_id": "00407436-2450-4f40-9323-29860232e8f7",
}

编辑 2019 年 10 月 5 日我将站点移动到本地并将 SQL 数据库恢复到本地 SQL Express。当我运行该站点并调用

http://localhost/api/mobile/insertdailycrewactivity

我可以单步执行该 Web API 方法。我的错误发生在 db.SaveChanges 方法中。

错误来自 System.Collections.ListDictionaryInternal 并指出“{无效的列名称'DailyCrew_id'}”我没有那个名字的专栏。我确实有一个名为“daily_crew_id”的列,我有一个名为“DailyCrew”的表,其中包含一个“id”字段。“DailyCrew_id”会是内部列表中的名称吗?我不知道去哪里查看或如何解决此问题。

最佳答案

事实证明,EF 不喜欢我为表和字段使用的命名约定,因此它无法建立键之间的关系。我已将属性注释为 Key 和 Foreign Key,但在我将属性命名更改为 EF 喜欢的名称后,一切正常。

关于c# - .NET API 未插入 SQL Server,但没有错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58240660/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com