首页 > 解决方案 > 直接写入隐藏链接表

问题描述

在实体框架中,我有一个类似这样的表:

ActorId Name

还有一个是这样的:

MovieId Title

这些是从外部文件填充的。

然后我有另一个包含所有链接的外部文件。ActortoMovie链接是多对多的。所以这个链接文件包含如下内容:

ActorId MovieId

但是在 EF 中,ActorToMovie表格是隐藏的。所以你不能直接写它。因此,如果我想处理链接,我必须首先在数据库中Movie找到匹配的条目,然后在数据库中找到匹配的条目,Actor然后将它们与以下内容链接:

myMovie.Actors.Add(myActor);

但这对于批量插入来说是低效的。有没有更好的方法(除了原始 SQL)直接写入ActorToMovie表?

标签: sql-serverentity-framework

解决方案


您可以向表中添加另一列(IDDateAdded等...),ActorToMovie使其显示为实体。

所以你的课程看起来像

Actor
    int ActorId
    string Name
    List<ActorToMovie> Movies

Movie
    int MovieID
    string Title
    List<ActorToMovie> Actors

ActorToMovie
    int ID
    Movie Movie
    Actor Actor
    DateTime DateAdded

推荐阅读