我有一个表格,用于存储为发送短信广告系列而添加的所有联系人的信息。
每条短信都与广告系列相关联。 campaignid用于记录中以维护它。
广告系列完成后,我会收到服务提供商发送的mobile_numbers
和campaign_id
。
现在我需要迭代smscontacts表并执行以下操作。
首先获取campaign_id
的所有记录。更新表格,将列issent
更新为1,以便在爆炸后由提供商发送的mobile_numbers
列表中包含移动电话号码的所有联系人。
编辑:
在列表mobile_numbers
中查找具有移动号列列值的行,并更新为这些记录调用的其他列值。
答案 0 :(得分:2)
假设您的MobileNumber
属性是一个字符串,并且它为空,如果未设置空字符串或空格,请执行以下操作。
// Get contacts that have a mobile number
IQueryable<Contact> contactsWithANumber = context.Contacts.Select(x => !string.IsNullOrWhiteSpace(x.MobileNumber));
// foreach
foreach(Contact c in contactsWithANumber)
{
c.IsSent = 1;
}
// .ForEach()
contactsWithANumber.ForEach(c => c.IsSent = 1);
// Update in db.
context.SaveChanges();
答案 1 :(得分:-1)
您可以使用ExecuteCommand更新多条记录:
yourContext.ExecuteCommand("UPDATE YourTable SET issent= 1 WHERE YourCondition");