foren_whb
丰云
采纳率60%
2015-04-25 06:15 浏览 5.1k
已采纳

EF 自关联表主键自增情况下,不能添加记录的问题,有谁解决过?

5

如题,我的系统中因为一个特定原因,需要一张自关联表(thisTable)来简化逻辑,
该表主键是自增的,结果发现无法添加记录,
错误消息:无法确定“db.thisTable”关系的主体端。添加的多个实体可能主键相同。
请问,有人解决过这个问题吗?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

4条回答 默认 最新

  • 已采纳
    foren_whb 丰云 2015-04-25 09:51

    自己解决了,顺便分享给大家:
    在EF的设定里,自关联的表主键外键,都不能为空(为空就会破坏数据的完整性),
    这在两表关联时没问题,但在自关联就有一个悖论,那就是第一条数据的ParentId指向谁?
    这就是我这个问题的根本,所以我的做法,就是预先手动往表里插条记录,
    以确保通过EF插入的数据,他的ParentId都能落实。

    点赞 评论 复制链接分享
  • songhtao 我不懂电脑 2015-04-25 06:27

    我们的数据库类别ID默认是自增长的 按理说不用指定主键ID 但是不指定ID
    像我上面 一下次插入多条时 插入时却报错 ~~
    无法确定“db.thisTable”关系的主体端。添加的多个实体可能主键相同。指定了ID 才能解决这个问题

    点赞 评论 复制链接分享
  • foren_whb 丰云 2015-04-25 06:31

    你这个回答不能解决问题,我实验过了,空表只插入一条数据也不行,因自关联的原因。
    希望有人能给出解决方案

    点赞 评论 复制链接分享
  • foren_whb 丰云 2015-05-20 02:54

    最后codefirst解决一切问题。。。。。哎。。。。

    点赞 评论 复制链接分享

相关推荐