EF 主键自增ID 如何添加数据?

d383137359 2018-08-03 02:33:26
如题,数据库的表ID为自增ID。 在程序中该ID也是主键,与其他实体类有主外键关联关系。

在插入数据时,如果取消数据库中该表的ID自增属性,能正常插入

但如果数据库改回 ID为自增属性, 总是异常:更新条目出错。

已设置实体类的该ID字段为 [Key, DatabaseGenerated(DatabaseGeneratedOption.None)] 或者 Identity 等等,都插入不进去。 另外,重写add方法,不更列该字段 异常相同, 请问大家怎么处理?
...全文
1752 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
。。。 求解,这里的外键设置 为什么错了 ?
d383137359 2018-08-03
  • 打赏
  • 举报
回复
引用 5 楼 starfd 的回复:
实体类里有外键关联对象
那是你的外键约束问题,不是主键问题


解决了,凶正……
d383137359 2018-08-03
  • 打赏
  • 举报
回复
引用 5 楼 starfd 的回复:
实体类里有外键关联对象
那是你的外键约束问题,不是主键问题


[ForeignKey("zdid")]
public virtual SysZdInstallInfo sysZdInstallInfo { get; set; }
[ForeignKey("zdlx")]
public virtual SysZdType sysZdType { get; set; }
[ForeignKey("zdgy")]
public virtual SysZdGuiyue sysZdGuiyue { get; set; }
[ForeignKey("dwid")]
public virtual SysCompanyInfo sysCompanyInfo { get; set; }


我就只关联了几个实体在查询的时候用到。插入的时候,和这几个有关系? code first 方式
  • 打赏
  • 举报
回复
实体类里有外键关联对象
那是你的外键约束问题,不是主键问题
d383137359 2018-08-03
  • 打赏
  • 举报
回复
引用 3 楼 guwei4037 的回复:
[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]


试过了,不行。 看论坛有贴子说 将 Identity 改成 none也试过的,万念俱焚 啊


[Table("zdjbxx")]
public class SysZdInfo
{
[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
//[Key, DatabaseGenerated(DatabaseGeneratedOption.None)]
//[Key]
public int zdid { get; set; }
public string zdbh { get; set; }
public string zdmc { get; set; }
public string zddzm { get; set; }
public string zdzcbm { get; set; }
}


都试过了。
全栈极简 2018-08-03
  • 打赏
  • 举报
回复
[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
d383137359 2018-08-03
  • 打赏
  • 举报
回复
引用 1 楼 starfd 的回复:
你不要设值就对了,都自增了你还设值干嘛?


不设值,类型时int 他默认为0, 数据库为自增时, 插不进。
实体类里有外键关联对象,这个不影响插入吧
  • 打赏
  • 举报
回复
你不要设值就对了,都自增了你还设值干嘛?

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧