c# - .NET API 未插入 SQL Server,但没有错误
问题描述
我有一个 ASP.NET MVC 应用程序,我添加了 Web API 以接收 Json 并将内容插入 SQL Server。在移动 Cordova 应用程序和 Rest Api 测试中,我的 Http 状态为 200。但是没有插入记录。
这是课程和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",
}
编辑 10/5/2019 我将站点移动到本地并将 SQL 数据库恢复到我的本地 SQL Express。当我运行网站并打电话时
http://localhost/api/mobile/insertdailycrewactivity
我可以逐步执行该 Web api 方法。我的错误发生在 db.SaveChanges 方法中。
错误来自 System.Collections.ListDictionaryInternal 并指出“{Invalid column name 'DailyCrew_id'}”我没有具有该名称的列。我确实有一个名为“daily_crew_id”的列,并且我有一个名为“DailyCrew”的表,其中包含一个“id”字段。'DailyCrew_id' 会是内部列表中的名称吗?我不知道在哪里看或如何解决这个问题。
解决方案
事实证明,EF 不喜欢我用于表和字段的命名约定,因此它无法在键之间建立关系。我将属性注释为 Key 和 Foreign Key,但是在我将属性的命名更改为 EF 喜欢的名称之后,一切正常。
推荐阅读
- python - 我的数据框中的值如何同时为 NaN 和浮动
- sql - 索引列与非索引列的排序性能
- python - numpy matmul 给出了奇怪的错误结果
- java - spring中哪个类实现了JpaRepository接口
- c++ - 在 C++ 中从文件中删除特定行
- python - 为什么不能重用关闭的套接字连接到服务器?
- android - 启用 viewBinding 功能失败(Android Studio 3.6)
- google-compute-engine - 如何抢救实例启动盘?
- schema.org - 面包屑中的错误:“项目字段的值是必需的”
- python - ColumnDataSource 上的散景流未更新绘图