当IDENTITY_INSERT设置为OFF时,从实体框架核心获取错误“无法在表'组织'中为标识列插入显式值” [英] Getting error from entity framework core "cannot insert explicit value for identity column in table 'organizations' when IDENTITY_INSERT is set to OFF"
本文介绍了当IDENTITY_INSERT设置为OFF时,从实体框架核心获取错误“无法在表'组织'中为标识列插入显式值”的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有2张桌子
Hi, I have 2 tables
public class User
{
public int Id { get; set; }
public string Name { get; set; }
public string Password { get; set; }
public virtual Organization Organization { get; set; }
}
public class Organization
{
public int Id { get; set; }
public string Name { get; set; }
public string EmailAddress { get; set; }
public string Password { get; set; }
public override bool Equals(object obj)
{
Organization that = obj as Organization;
if (that != null)
{
return (this.Id == that.Id);
}
return base.Equals(obj);
}
}
尝试向用户插入行时出现以下错误。
While trying to insert row into User I get following error.
Cannot insert explicit value for identity column in table 'Organizations' when IDENTITY_INSERT is set to OFF.
代码如下
Code is as following
[HttpPost]
public async Task<IActionResult> Post([FromBody]User p_User)
{
try
{
using (var dataContext = new AspCoreContext(AspCoreContext.BuildOptions()))
{
dataContext.Users.Add(p_User);
await dataContext.SaveChangesAsync();
return Ok(p_User);
}
}
catch (Exception ex)
{
const string msg = "Unable to insert user";
Globals.ErrorLogger(ex, msg);
return StatusCode((int)HttpStatusCode.InternalServerError, msg);
}
}
请求正文是
< br $>
While request body is
{
"name": "Qadeer",
"password": "123456",
"token": null,
"organization": {"Id": "1"}
}
我尝试了什么:
尝试设置关系表示法
What I have tried:
tried settings relational notations
推荐答案
它说你试图插入IDENTITY列中的新值(生成自己的值)。
如果在Id上放置[Key]属性(即键)匹配IDENTITY列属性的字段,它可能会解决您的问题。
It says you're trying to insert a new value into an IDENTITY column (which generates it own values).
If you put a [Key] attribute on the "Id" (i.e. the "key" field that matches the IDENTITY column) property it will probably fix your problem.
这篇关于当IDENTITY_INSERT设置为OFF时,从实体框架核心获取错误“无法在表'组织'中为标识列插入显式值”的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文