using (testContext context = new testContext())
{
Person person = null;
for (int i = 1; i <= 10; i++)
{
try
{
if (i == 5)
{
person = new Person() { Name = "name" + "".PadRight(20, 'a') }; //超长出错
}
else
{
person = new Person() { Name = "name" + i };
}
context.People.Add(person);
context.SaveChanges();
}
catch { }
}
}程序运行后数据库中只有4条记录,原因是出错的记录一直存在于context.People集合中,所以后面调用SaveChanges时都会出错,解决方法:如果记录可以忽略,从集合中移除记录:
using (testContext context = new testContext())
{
Person person = null;
for (int i = 1; i <= 10; i++)
{
try
{
if (i == 5)
{
person = new Person() { Name = "name" + "".PadRight(20, 'a') }; //超长出错
}
else
{
person = new Person() { Name = "name" + i };
}
context.People.Add(person);
context.SaveChanges();
}
catch
{
[color=Red]context.People.Remove(person);[/color]
}
}
}
评论(0)
暂无评论。