实体框架以一对一关系添加新记录,而对象具有 ID

巴托斯·奇若夫斯基

我是 c# 新手,我在保存/更新数据方面有一个基本问题。有两个类:

public class User
    {
        public int UserId { get; set; }
        public string Email { get; set; }
        public string Login { get; set; }
        public string Password { get; set; }
        public DateTime RegisteredDate { get; set; }

 public class Task
    {
        public int TaskId { get; set; }
        public string Title { get; set; }
        public string Description { get; set; }
        public string Comment { get; set; }
        public User DeclaredBy { get; set; }

    }

我正在尝试使用DeclaredBy字段集保存任务对象(新的或更新的)

dbContext.Tasks.AddOrUpdate(task);
dbContext.SaveChanges();

DeclaredBy字段中设置的用户有一个ID,但执行后SaveChanges()在数据库中出现了一个新的用户记录。

卢卡斯·科科特

这就是 EF 的工作方式,如果您将实体与其他相关实体一起添加,则两者都将存储在 DB 中。如果你只想存储一个,那么你需要将其他导航属性设置为 null 并且只设置外键 id,目前你没有,你应该添加属性:

public int DeclatedById { get; set; }

顺便提一句。这是一个很常见的问题,很多项目在 db 中有重复的值。

也许我应该补充一点,只有当实体没有被 EF 上下文跟踪并附加到它时才会发生这种情况。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

实体框架首先使用代码一对一关系。怎么样?

来自分类Dev

Doctrine2一对一关系父代ID未保存在子代中

来自分类Dev

实体框架两端可选的一对一关系

来自分类Dev

实体框架-在种子方法中将现有实体添加到一对一关系

来自分类Dev

JPA:如何保存具有一对一关系的两个实体?

来自分类Dev

实体框架代码优先一对一关系

来自分类Dev

实体框架与ASP.NET Boilerplate的一对一关系

来自分类Dev

实体框架代码首先在复杂实体之间建立一对一关系

来自分类Dev

首先使用实体框架代码:如何不使用“主要”和相同ID的概念设置一对一关系?

来自分类Dev

如何更改与自己的实体框架7(ASP.NET Core)一对一关系创建的记录?

来自分类Dev

实体框架核心一对一关系在SQL Server中生成一对多

来自分类Dev

如何在Android中具有一对一或一对多关系的对象化实体中插入记录

来自分类Dev

如何删除一对一关系中的实体?

来自分类Dev

Doctrine2一对一关系父代ID未保存在子代中

来自分类Dev

实体框架-在种子方法中将现有实体添加到一对一关系

来自分类Dev

实体框架6:具有继承关系的一对一关系

来自分类Dev

在Flask,SqlAlchemy中获得一对一关系的“ insert_id”

来自分类Dev

C#实体框架:可选的一对一关系

来自分类Dev

为什么一对一关系的父代ID没有UNIQUE约束?

来自分类Dev

实体框架与ASP.NET Boilerplate的一对一关系

来自分类Dev

如何在Android中具有一对一或一对多关系的对象化实体中插入记录

来自分类Dev

一对一实体框架关系

来自分类Dev

实现实体框架一对一关系

来自分类Dev

实体框架:一对一关系,能够双向导航

来自分类Dev

简化实体框架 6 一对一关系的语法

来自分类Dev

一对一关系实体框架

来自分类Dev

实体框架中的一对一关系插入

来自分类Dev

获取名称而不是 ID 一对一关系

来自分类Dev

如何在没有连接列的情况下映射一对一关系(实体通过其 ID 连接)?

Related 相关文章

  1. 1

    实体框架首先使用代码一对一关系。怎么样?

  2. 2

    Doctrine2一对一关系父代ID未保存在子代中

  3. 3

    实体框架两端可选的一对一关系

  4. 4

    实体框架-在种子方法中将现有实体添加到一对一关系

  5. 5

    JPA:如何保存具有一对一关系的两个实体?

  6. 6

    实体框架代码优先一对一关系

  7. 7

    实体框架与ASP.NET Boilerplate的一对一关系

  8. 8

    实体框架代码首先在复杂实体之间建立一对一关系

  9. 9

    首先使用实体框架代码:如何不使用“主要”和相同ID的概念设置一对一关系?

  10. 10

    如何更改与自己的实体框架7(ASP.NET Core)一对一关系创建的记录?

  11. 11

    实体框架核心一对一关系在SQL Server中生成一对多

  12. 12

    如何在Android中具有一对一或一对多关系的对象化实体中插入记录

  13. 13

    如何删除一对一关系中的实体?

  14. 14

    Doctrine2一对一关系父代ID未保存在子代中

  15. 15

    实体框架-在种子方法中将现有实体添加到一对一关系

  16. 16

    实体框架6:具有继承关系的一对一关系

  17. 17

    在Flask,SqlAlchemy中获得一对一关系的“ insert_id”

  18. 18

    C#实体框架:可选的一对一关系

  19. 19

    为什么一对一关系的父代ID没有UNIQUE约束?

  20. 20

    实体框架与ASP.NET Boilerplate的一对一关系

  21. 21

    如何在Android中具有一对一或一对多关系的对象化实体中插入记录

  22. 22

    一对一实体框架关系

  23. 23

    实现实体框架一对一关系

  24. 24

    实体框架:一对一关系,能够双向导航

  25. 25

    简化实体框架 6 一对一关系的语法

  26. 26

    一对一关系实体框架

  27. 27

    实体框架中的一对一关系插入

  28. 28

    获取名称而不是 ID 一对一关系

  29. 29

    如何在没有连接列的情况下映射一对一关系(实体通过其 ID 连接)?

热门标签

归档