使用ASP.Net MVC框架将多个记录添加到数据库

时间:2018-01-10 14:10:30

标签: asp.net asp.net-mvc database insert

我有一个表,其中包含我想要添加到数据库表的记录。

我的网站中有一个CRUD功能,但这是供用户使用HTML表单一次与项目进行交互和添加项目。我希望能够循环遍历表中的每个项目并将其添加到数据库中。这是我的模型的一个例子:

public class Photo
{
    public int PhotoId { get; set; }
    public int ListingId { get; set; }
    public string LocationAndName { get; set; }
    public DateTime DateUploaded { get; set; }
    public string Description { get; set; }
}

我有一个包含以下值的数组: ListingId 地点名称 DateUploaded 描述 如何通过循环在数据库中填充所有这些?

1 个答案:

答案 0 :(得分:0)

从性能角度来看,我建议进行批量插入,而不是一次在数据库中添加每一行。

使用EF,代码应如下所示:

using (var scope = new TransactionScope())
{
    using (var context = new DataContext())
    {
        foreach(var photo in photos)
        {
            context.Photo.Add(photo);
        }
        context.SaveChanges();
    }

    scope.Complete();   
} 

如果原子性对您的方案不重要,那么您可以省略事务部分。