我從web形式收集數據用下面的代碼時的空例外:添加到表
secondContact.FirstName = txtFirstNameContact2.Text;
secondContact.LastName = txtlastNameContact2.Text;
secondContact.EmailAddress = txtEmailAddressContact2.Text;
secondContact.PhoneNumber = txtPhone1Contact2.Text + txtPhone2Contact2.Text + txtPhone3Contact2.Text;
if (!string.IsNullOrEmpty(rblContactTypeContact2.SelectedValue))
{
secondContact.SecondaryContactTypeID = Convert.ToInt32(rblContactTypeContact2.SelectedValue);
}
secondContact.ContactPosition = 2;
secondContact.ProspectID = prospect.Id;
代碼發送到存儲庫進行保存用下面的代碼(其它抓住的前景。 ID成功):
if (prospect.Id != 0)
{
if (!string.IsNullOrEmpty(secondContact.FirstName) || !string.IsNullOrEmpty(secondContact.LastName) || !string.IsNullOrEmpty(secondContact.EmailAddress) || !string.IsNullOrEmpty(secondContact.PhoneNumber))
{
this.repository.SaveAltContact(prospect.Id, 2, secondContact);
}
}
信息庫改掉保存數據:
public void SaveAltContact(int prospectID, int contactPosition, SecondaryContact contact)
{
using (var context = new CoyleHomeBuyerEntities())
{
SecondaryContact currentAltContact = new Model.SecondaryContact();
currentAltContact = (from sec in context.SecondaryContact
where sec.ContactPosition == contactPosition
where sec.ProspectID == prospectID
select sec).FirstOrDefault();
if (currentAltContact == null)
{
context.AddToSecondaryContact(currentAltContact);
}
currentAltContact.FirstName = contact.FirstName;
currentAltContact.LastName = contact.LastName;
currentAltContact.EmailAddress = contact.EmailAddress;
currentAltContact.PhoneNumber = contact.PhoneNumber;
currentAltContact.SecondaryContactTypeID = contact.SecondaryContactTypeID;
currentAltContact.ProspectID = prospectID;
currentAltContact.ContactPosition = contactPosition;
context.SaveChanges();
}
}
它總是失敗後使用空例外這一行:
context.AddToSecondaryContact(currentAltContact);
我百思不得其解,因爲我希望上面的查詢在這一點上返回NULL值。將SecondaryContactID
設置爲主鍵並自動遞增。
Exception Details: System.ArgumentNullException: Value cannot be null.
Parameter name: entity
有人能指出我正確的方向,爲什麼當試圖向數據庫添加新行時失敗?
拒絕投票的原因? – Adil
你能解釋一下「它不是正確的」嗎?你有什麼錯誤嗎? – Adil
您有一個參數SecondaryContact聯繫人,我想這個對象充滿了值而不是null?並可以保存到數據庫。我說要將此聯繫人傳遞給方法AddToSecondaryContact,如context.AddToSecondaryContact(contact); – Adil