使用 MVC ASP.NET 将数据插入多个表

Man*_*kar 5 asp.net-mvc master-detail asp.net-mvc-viewmodel

我是 MVC ASP.NET 新手。尽管这在过去可能已得到解决,但我仍然无法获得问题的完整解决方案。

问题:我有两张桌子
视频

列有:VideoID、FlimName、描述

视频详情

列有: VideoDetailsID 、 Actor 、 VideoID (来自表视频的外键)

我希望将数据从我的 MVC 模型插入到这两个表中。[首先插入Video Table ,然后 插入带有 VideoTable 主键的VideoDetails ,即 VideoID 也与VideoDetails Table 的记录一起插入]。

我已经找到了该问题的一些解决方案,但它似乎并没有合并成一个完整的解决方案。

我可以获得一些有关此问题的逐步解决方法的有用链接,或者有人可以帮助我解决此问题。

我已在该论坛上阅读过有关 ViewModel 方法的信息,但仍不清楚其功能和流程。请帮忙。

谢谢,

曼格什

rhu*_*hes 6

您想要的方法是使用实​​体框架。您可以在此处找到有关实体框架的更多信息:

http://www.asp.net/entity-framework

如果您使用实体框架,代码将如下所示:

var context = new MyDBModelContext();

tblVideo video = new tblVideo()
{
    FileName = theFileName,
    Description = theDescription
};

context.tblVideos.Add(video);
context.SaveChanges();

tblVideoDetails details = new tblVideoDetails()
{
    VideoID = video.VideoID,
    Actor = theActor,
};

context.tblVideoDetails.Add(details);
context.SaveChanges();
Run Code Online (Sandbox Code Playgroud)

如果您使用的是SQL,请将相应的详细信息传递到您的存储过程中并插入如下:

INSERT INTO Video
    (FileName, Description)
    VALUES(@FileName, @Description)

INSERT INTO VideoDetails
    (VideoID, Actor)
    VALUES(SCOPE_IDENTITY( ), @Actor)
Run Code Online (Sandbox Code Playgroud)

注意:上面的 SQL 应该可以工作,但首先要进行测试。