插入多个数据时出现问题 ASP.NET MVC
Problem when inserting multiple data ASP.NET MVC
我在插入多条记录时遇到问题。当我尝试插入 2 条记录时,调试器显示计数为 2,但它只保存 1 条记录。
这是我管理器中的代码class
public void Create(IEnumerable<CollectionModel> p )
{
collection module = new collection();
foreach (var asa in p)
{
module.AccountId = 1;
module.Amount = asa.Amount;
module.NameSou = asa.NameSou;
module.Date = asa.Date;
module.CreatedDatetime = DateTime.Now;
module.UpdatedDatetime = DateTime.Now;
_context.collection.Add(module);
}
_context.SaveChanges();
}
Entity Framework 提供了两种将记录插入数据库的方法。 Add()
方法允许插入单个实体。 AddRange()
方法插入一个 IEnumerable 集合。您可以从 here.
中找到更多信息
示例:
public void Create(IEnumerable<CollectionModel> args )
{
var modules = args.Select(asa=> new collection{
AccountId = 1,
Amount = asa.Amount,
NameSou = asa.NameSou,
Date = asa.Date,
CreatedDatetime = DateTime.Now,
UpdatedDatetime = DateTime.Now
}).ToList();
_context.collection.AddRange(modules);
_context.SaveChanges();
}
您的代码中的小更正。您每次都在创建一个模块并更新它。所以它总是会在你的 p 的最后一项的案例列表中保存最后一项的列表。
public void Create(IEnumerable<CollectionModel> p )
{
foreach (var asa in p)
{
collection module = new collection();
module.AccountId = 1;
module.Amount = asa.Amount;
module.NameSou = asa.NameSou;
module.Date = asa.Date;
module.CreatedDatetime = DateTime.Now;
module.UpdatedDatetime = DateTime.Now;
_context.collection.Add(module);
}
_context.SaveChanges();
}
我在插入多条记录时遇到问题。当我尝试插入 2 条记录时,调试器显示计数为 2,但它只保存 1 条记录。
这是我管理器中的代码class
public void Create(IEnumerable<CollectionModel> p )
{
collection module = new collection();
foreach (var asa in p)
{
module.AccountId = 1;
module.Amount = asa.Amount;
module.NameSou = asa.NameSou;
module.Date = asa.Date;
module.CreatedDatetime = DateTime.Now;
module.UpdatedDatetime = DateTime.Now;
_context.collection.Add(module);
}
_context.SaveChanges();
}
Entity Framework 提供了两种将记录插入数据库的方法。 Add()
方法允许插入单个实体。 AddRange()
方法插入一个 IEnumerable 集合。您可以从 here.
示例:
public void Create(IEnumerable<CollectionModel> args )
{
var modules = args.Select(asa=> new collection{
AccountId = 1,
Amount = asa.Amount,
NameSou = asa.NameSou,
Date = asa.Date,
CreatedDatetime = DateTime.Now,
UpdatedDatetime = DateTime.Now
}).ToList();
_context.collection.AddRange(modules);
_context.SaveChanges();
}
您的代码中的小更正。您每次都在创建一个模块并更新它。所以它总是会在你的 p 的最后一项的案例列表中保存最后一项的列表。
public void Create(IEnumerable<CollectionModel> p )
{
foreach (var asa in p)
{
collection module = new collection();
module.AccountId = 1;
module.Amount = asa.Amount;
module.NameSou = asa.NameSou;
module.Date = asa.Date;
module.CreatedDatetime = DateTime.Now;
module.UpdatedDatetime = DateTime.Now;
_context.collection.Add(module);
}
_context.SaveChanges();
}