与Entity Framework中的3个表连接

塔利亚

我有一个SQL数据库3个表:MoviesViewerMovies_Viewer(=这显示了哪些观众在看到哪部电影)。

客户端将插入Viewer名称和Movie名称,并使用实体框架,我想将其插入到我拥有的3个表中(例如,使用linq),但是我如何知道什么ID使电影和观众将其插入到第三个表中桌子?

我应该插入两个表,然后调用另一个将ID插入第三个表的函数吗?我如何拥有所有数据?

这是我的代码-这样做是错误的吗?

[WebMethod]
public void InsertToDB(string viewerName, string movieName)
{
    InsertToViewerTbl(viewerName);
    InsertToMoviesTbl(movieName);
}

private void InsertToMoviesTbl(string movieName)
{
    var db = new MoviesEntities1();
    var movieNameTbl = new MovieNameTbl();
    movieNameTbl.MovieName = movieName;

    db.AddToMovieNameTbls(movieNameTbl);
    db.SaveChanges();
}

private void InsertToViewerTbl(string viewerName)
{
    var db = new MoviesEntities1();
    var viewerNameTbl = new ViewerNamesTbl();
    viewerNameTbl.ViewerName = viewerName;

    db.AddToViewerNamesTbls(viewerNameTbl);
    db.SaveChanges();
}
玛莉亚

将对象添加到数据库后,您可以只返回对象,例如:

[WebMethod] public void InsertToDB(string viewerName, string movieName) 
{
    var viewer = InsertToViewerTbl(viewerName); 
    var movie = InsertToMoviesTbl(movieName);
    InsertToMovies_Viewer(viewer, movie);
}

private MovieNameTbl InsertToMoviesTbl(string movieName)
{
    var db = new MoviesEntities1();

    var movieNameTbl = new MovieNameTbl();
    movieNameTbl.MovieName = movieName;

    db.AddToMovieNameTbls(movieNameTbl);
    db.SaveChanges();

    return movieNameTbl ;
}

private ViewerNamesTbl InsertToViewerTbl(string viewerName)
{
    var db = new MoviesEntities1();

    var viewerNameTbl = new ViewerNamesTbl();
    viewerNameTbl.ViewerName = viewerName;

    db.AddToViewerNamesTbls(viewerNameTbl);
    db.SaveChanges();

    return viewerNameTbl;
}

private void InsertToMovies_Viewer(ViewerNamesTbl viewer, MovieNameTbl movie)
{
    var db = new MoviesEntities1();

    var movieViewer = new Movies_Viewer();// or however the table is called
    movieViewer.Viewer = viewer; // or however the column is called
    movieViewer.Movie= movie; // or however the column is called

    db.AddToMovies_Viewer(movieViewer);
    db.SaveChanges();
}

但我建议您使用一种方法来执行此操作,这样就不必每次都创建连接,并且每次都保存更改:

[WebMethod] public void InsertToDB(string viewerName, string movieName) 
{
    var db = new MoviesEntities1();

    var movie = new MovieNameTbl();
    movieNameTbl.MovieName = movieName;

    db.AddToMovieNameTbls(movieNameTbl);

    var viewer = new ViewerNamesTbl();
    viewerNameTbl.ViewerName = viewerName;

    db.AddToViewerNamesTbls(viewerNameTbl);

    var movieViewer = new Movies_Viewer();// or however the table is called
    movieViewer.Viewer = viewer; // or however the column is called
    movieViewer.Movie= movie; // or however the column is called

    db.AddToMovies_Viewer(movieViewer);
    db.SaveChanges();
}

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

未从Entity Framework中的表生成的类

来自分类Dev

没有连接表的Entity Framework 6中的多对多查询

来自分类Dev

通过外键在Entity Framework 6中的另一个表中获取记录

来自分类Dev

Entity Framework Adding and Deleting an Entity?

来自分类Dev

如何创建一个临时表并在与Entity Framework的同一连接中使用它?

来自分类Dev

是否可以在Entity Framework(代码优先)的Seed方法中添加两个表的数据?

来自分类Dev

两个表在Entity Framework 6 Code First中相互引用

来自分类Dev

使用Entity Framework Core显示2个链接表中的信息时出错

来自分类Dev

从另一个没有关系的表中设置属性Entity Framework

来自分类Dev

如何使用Entity Framework从SQL表中获取两个列值的总和?

来自分类Dev

来自 Code First Entity Framework 的 IQueryable 两个表

来自分类Dev

在Entity Framework / Linq中基于相同名称连接ID

来自分类Dev

在Entity Framework中的2条语句期间锁定表

来自分类Dev

请参考Entity Framework查询中的临时表

来自分类Dev

在Entity Framework Core和UWP中删除表

来自分类Dev

在Entity Framework Core和UWP中删除表

来自分类Dev

在Entity Framework中嵌套嵌套

来自分类Dev

Entity Framework Core 中的 SqlGeometry

来自分类Dev

Cakephp 3:从Entity调用表函数是个好主意吗?

来自分类Dev

如何在两个不同的表中显示重复值和唯一值Entity Framework

来自分类Dev

Entity Framework Invalid Column

来自分类Dev

SQL injection with Entity Framework

来自分类Dev

Entity Framework autoincrement key

来自分类Dev

Entity Framework Ambient Transactions

来自分类Dev

Mono Entity Framework 6个重复项

来自分类Dev

Prism Module + Entity Framework 共享一个数据库连接

来自分类Dev

添加两个表达式以在Entity Framework Core 3中创建谓词不起作用

来自分类Dev

使用Entity Framework 6从联结表中删除,但将记录保留在查找表中

来自分类Dev

从Entity Framework 6中的集合中删除

Related 相关文章

  1. 1

    未从Entity Framework中的表生成的类

  2. 2

    没有连接表的Entity Framework 6中的多对多查询

  3. 3

    通过外键在Entity Framework 6中的另一个表中获取记录

  4. 4

    Entity Framework Adding and Deleting an Entity?

  5. 5

    如何创建一个临时表并在与Entity Framework的同一连接中使用它?

  6. 6

    是否可以在Entity Framework(代码优先)的Seed方法中添加两个表的数据?

  7. 7

    两个表在Entity Framework 6 Code First中相互引用

  8. 8

    使用Entity Framework Core显示2个链接表中的信息时出错

  9. 9

    从另一个没有关系的表中设置属性Entity Framework

  10. 10

    如何使用Entity Framework从SQL表中获取两个列值的总和?

  11. 11

    来自 Code First Entity Framework 的 IQueryable 两个表

  12. 12

    在Entity Framework / Linq中基于相同名称连接ID

  13. 13

    在Entity Framework中的2条语句期间锁定表

  14. 14

    请参考Entity Framework查询中的临时表

  15. 15

    在Entity Framework Core和UWP中删除表

  16. 16

    在Entity Framework Core和UWP中删除表

  17. 17

    在Entity Framework中嵌套嵌套

  18. 18

    Entity Framework Core 中的 SqlGeometry

  19. 19

    Cakephp 3:从Entity调用表函数是个好主意吗?

  20. 20

    如何在两个不同的表中显示重复值和唯一值Entity Framework

  21. 21

    Entity Framework Invalid Column

  22. 22

    SQL injection with Entity Framework

  23. 23

    Entity Framework autoincrement key

  24. 24

    Entity Framework Ambient Transactions

  25. 25

    Mono Entity Framework 6个重复项

  26. 26

    Prism Module + Entity Framework 共享一个数据库连接

  27. 27

    添加两个表达式以在Entity Framework Core 3中创建谓词不起作用

  28. 28

    使用Entity Framework 6从联结表中删除,但将记录保留在查找表中

  29. 29

    从Entity Framework 6中的集合中删除

热门标签

归档