【发布时间】:2018-07-03 16:58:18
【问题描述】:
我正在尝试使用实体框架将更改保存到数据库中。
using (var context = new Entities())
{
USERS user = new USERS() { NAME = name, PASSWORD = password };
context.USERS.Add(user);
context.SaveChanges();
}
在插入 0 作为主键时总是抛出异常:
ORA-01400: 无法将 NULL 插入 (\"SYSTEM\".\"USERS\".\"ID\")
ORA-06512:在第 4 行
任何想法为什么会发生这种情况?
编辑:
USERS 类具有以下属性:
public int ID { get; set; }
public string NAME { get; set; }
public string PASSWORD { get; set; }
我在 Identity 上设置了 StoreGeneratedPattern,它仍然将 ID 插入为 0
【问题讨论】:
-
你能分享你的模型课吗?这通常是因为您没有将 ID 属性注释为 [Key]
-
USERS类是什么样的?您是否定义了主键?是设置为数字还是 GUID? -
看起来
users.id应该是一个标识列。是吗? -
顺便说一下,
system是为 Oracle 内部保留的,您不应该将它用于您自己的对象。
标签: c# .net oracle frameworks entity