[英]Entityframework Insert into Table FK Relationship
我有两个表用户和活动
这些表是:
用户表有两列(用户ID PK,用户名)
活动表有三列(ActivityId PK、Location、userid FK)活动表引用用户表和userid
使用实体框架,我用这些表搭建了数据库。 然后我编写了插入用户表的代码
[HttpPost]
public IActionResult createUser(User user)
{
using(var context = new postgresContext())
{
var c = new User()
{
Userid = user.Userid,
Username = user.Username
};
context.Users.Add(c);
context.SaveChanges();
}
return Ok();
}
但是,我收到以下错误
{
"type": "https://tools.ietf.org/html/rfc7231#section-6.5.1",
"title": "One or more validation errors occurred.",
"status": 400,
"traceId": "00-0dedc95e91a6fdb2e9da01333f7d19ff-b2605a6c7e5bd5d4-00",
"errors": {
"user": [
"The user field is required."
],
"$.activities[0].user": [
"The JSON value could not be converted to GISSolution.API.LearnModel.User. Path: $.activities[0].user | LineNumber: 8 | BytePositionInLine: 22."
]
}
}
swagger 中的 model 是
{
"userid": 0,
"username": "string",
"activities": [
{
"activityid": 0,
"location": "string",
"userid": 0,
"user": "string"
}
]
}
我需要插入用户表,但 model 是由活动构成的。 请问我该如何处理?
正在使用 PostgreSQL 吗? 请确认。 似乎还需要用户字段,您的 swagger model 不包含用户字段的任何条目。 理想情况下,如果它的类型是增量数据类型,则必须使用串行类型在数据库中将其设置为自动增量,见下文 SQL 以在 PostgreSQL 中创建表
创建表公司(ID 序列主键,名称文本不是 NULL,年龄 INT 不是 NULL,地址字符(50),工资实数);
在您的 model class 中,两个表之间确实存在关系,这可能是您嵌套活动 object 的原因。 似乎两个表之间存在父子关系,请查看下面链接中的这篇文章,似乎与您的经历相似。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.