当前位置: 首页 > 面试题库 >

EF插入多个相关表

解翰采
2023-03-14
问题内容

我正在尝试使用Linq / EntityFramework将数据从C#应用程序保存到数据库中。插入到一个表很简单,但是我不确定如何将数据插入到三个都与自动增量标识互连的表中?这是一个小问题,所以我使用一个线程及其所有帖子-
每个 ThreadTitle 和每个 Post 都与一个 User (不是实际的表名)相关联。

我的设计思想是将完整线程刮入内存,然后进行“批量”插入。为了减少负载,我希望有某种方法可以维护关系约束,而无需执行查找,多次插入等操作。


问题答案:

如果您要保存两个相关的记录,因为一个(A)中的FK与另一个(B)中的FK有关,请执行以下操作:

  • 创建对象B

  • 将对象B添加到上下文

  • 创建对象A

  • 将指向B(AB)的A中的导航属性设置为值B。

  • 将对象A添加到上下文

  • 在上下文中保存更改

实际上,您不必将两个对象都添加到上下文中,一个就足够了,因为有相关的EF可以在“树中”找到所有对象。EF会自行弄清楚首先要插入的内容并设置正确的ID。

你是这个意思吗?希望这可以帮助。



 类似资料:
  • 我是Node.js的新手,我在我的sql数据库2表中,一张叫做俱乐部的桌子和一张叫做球员的桌子,它们通过一对多的关系联系在一起,所以我在Flutter中创建了一个post查询,从我的查询中我想发送俱乐部的名字,俱乐部的价格将他们插入到第一个表中,并且在同一个查询中发送该队的选定球员列表,并做一个循环将他们插入到第二个表中,并为每个球员插入俱乐部的id,但是我发现我自己不知道我应该在Flutter或

  • 请注意:虽然我在这里特别提到了两个Gradle插件,但这完全是一个关于理解Gradle中任务依赖性的问题,不需要任何关于单个插件的知识(我认为)! 我有一个项目将使用两个Gradle插件: < Li > Gradle Shadow插件,它将生成一个自包含的“fat jar”(基本上是一个包含我的所有类以及我的所有可传递依赖项的类的大jar,这样我就可以运行< code>java -jar myap

  • 我的结构如下: 3张表格:电影、演员、类型 电影表模式: 类型表架构: 演员表架构: 电影模组: 体裁模态: 演员模式: 表格: 我使用以下控制器方法从表单发布数据,一切正常,但当我提交2部电影具有相同的流派,例如“动作/戏剧”,我在流派表中得到2个单独的条目,如: id:1名称:动作/戏剧 ID: 2名称:动作/戏剧 对于一个特定的流派类型,反复使用单个id的最佳方法是什么?例如,如果我添加了1

  • 问题内容: 我有一个类似于以下内容的插入语句: 我需要使用多个ID插入同一条语句。现在我有: 我只是必须运行此程序,还是有一个更精简的版本? 问题答案: 使用:

  • 问题内容: 嘿,我有一个连接两个不相关表的Junction表。两个表都有。我需要使用不同的值从每个表中选择,例如,这就是我的看法: 我见过的所有示例都使用一条语句,但是两个表具有相同的值,在这种情况下,它们不是。 问题答案: 试试这个查询:

  • 所以我有下面这样的课程,试图实现多人关系 现有表: 以下是serviceClass: 但是当我运行我的代码时,它试图多次插入,因为我遇到了约束冲突,我应该怎么做才能解决这个问题?