我們的用戶將擁有List<EmailRecords>
集合,並且只有其中一個將標記爲(bool)IsPrimary = true
。使用實體框架更新列表項的最有效方式
我想編寫實體框架代碼來更新它。
事情是這樣的:
UPDATE dbo.EmailRecords
SET IsPrimary = 1
WHERE EmailRecordId = @RecordId
UPDATE dbo.EmailRecords
SET IsPrimary = 0
WHERE EmailRecordId != @RecordId
AND ParentRecordId = @ParentRecordId
我的目標是:
public class EmailRecords
{
public int EmailRecordId { get; set; }
public int ParentRecordId { get; set; }
public string EmailAddress { get; set; }
public bool IsPrimary { get; set; }
}
我怎樣才能做到這一點與實體框架?
我在想這樣做這樣的事情:
foreach (var thisRecord in profile.EmailRecords)
{
if (thisRecord.EmailRecordId == thisId)
{
thisRecord.IsPrimary = true;
}
else
{
thisRecord.IsPrimary = false;
}
}
db.SaveChanges();
有一個更清潔的方式做到這一點?
什麼是您的.net列表集合命名?提供一些代碼。 –
你是指linq2sql還是實體框架? –
嗨。所以你可能已經注意到了一些關於這個問題的看法。原因是這個問題現在聽起來像「這裏是想法,請給我編碼」。爲了得到一個好的答案,你應該先嚐試自己做一些事情,然後在這裏發帖,如果你遇到特定的問題,所以這個問題聽起來像「我有這個問題,試圖解決這個問題,但得到這個錯誤/問題」 – Andrei