我一直在试图更新一个拥有100万条记录并将其字段的NULL值替换为空字符串(“”)的表。 Foreach和似乎需要很长时间。我花了1分钟更新3 000条记录。有更简单的方法来更新表使用LINQ或可能的程序?LINQ更新表用EmptyString替换NULL 100万条记录
这是我此刻的使用,但它永远需要,我可能需要经常这样做:
foreach (MG_Backup item in mg)
{
lblAllNulls.Text +="<br />ID:"+item.ID+" ";
if (item.Name == null)
{
item.Name = "";
lblAllNulls.Text += "Name ";
}
if (item.Company == null)
{
item.Company = "";
lblAllNulls.Text += "Company ";
}
if (item.Addr1 == null)
{
item.Addr1 = "";
lblAllNulls.Text += "Addr1 ";
}
if (item.Addr2 == null)
{
item.Addr2 = "";
lblAllNulls.Text += "Addr2 ";
}
if (item.FullAddress == null)
{
item.FullAddress = "";
lblAllNulls.Text += "FullAddress ";
}
if (item.City == null)
{
item.City = "";
lblAllNulls.Text += "City ";
}
//saves the changes
db.SaveChanges();
}
这听起来像一个存储过程的工作。 – asawyer 2013-04-04 12:37:47
你不能通过SQL更新语句来完成吗? – Richard 2013-04-04 12:37:58
但我有5个字段,我需要检查它们是否为空,并且它们中的任何一个都不得在同一时间为null。一个字段可能为空,下一个记录可能有另一个字段为空,所以基本上我将不得不运行5个更新语句超过100万条记录..这将需要很多时间..我认为... – Nathan 2013-04-04 12:41:00