3

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

我的设计理念是将一个完整的线程刮入内存,然后进行“批量”插入。为了减少负载,我希望有一些方法可以维护关系约束,而不需要进行查找、多次插入等。

4

1 回答 1

2

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

  • 创建对象 B

  • 将对象 B 添加到上下文

  • 创建对象 A

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

  • 将对象 A 添加到上下文

  • 在上下文中保存更改

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

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

于 2012-07-13T20:54:25.820 回答