我正在使用實體框架與MVC5應用程序,目前我正試圖保存一些表單數據,觸及我的數據庫中的多個表。當我向表中添加數據時,它似乎工作正常,但是一旦我打到橋表時,我會得到一個空引用異常,對我而言,這沒有意義。實體框架添加到橋表時的空引用異常
我是新手編程,所以任何幫助將不勝感激。
public void RegisterNewUser(IDCRegisterViewModel model)
{
//
string fullAddress = model.AddressLine1 + "\n" + model.AddressLine2 + (string.IsNullOrEmpty(model.AddressLine2) ? "" : "\n") + model.City + ", " + model.State + " " + model.Zip + "\n" + model.Country;
using (var AuthContext = new InfoKeeperEntities1())
{
AuthContext.Locations.Add(new Location {
Line1 = model.AddressLine1,
Line2 = model.AddressLine2,
City = model.City,
State = model.State,
Zip = model.Zip,
Country = model.Country,
UserID = model.UserID,
FullAddr = fullAddress
});
AuthContext.ProfileDatas.Add(new ProfileData
{
UserID = model.UserID,
UACC = model.UACC,
isRecCenter = model.IsRecCenter,
isCustAdmin = model.IsCustAdmin
});
//Add to bridge tables for user/dept and group/dept
List<Department> deptList = new List<Department>();
foreach (var ID in model.GroupIDs)
{
deptList.Add(AuthContext.Departments.FirstOrDefault(x => x.ID == ID));
}
foreach (var department in deptList)
{
//NULL REF EXCEPTION HERE
AuthContext.AspNetUsers.FirstOrDefault(x => x.Id == model.UserID).Departments.Add(department);
foreach (var groupID in model.GroupIDs)
{
AuthContext.Groups.FirstOrDefault(x => x.ID == groupID).Departments.Add(department);
}
}
}
}
請註明線扔空參考例外。 – mjw
已更新。謝謝。 – SentOnLine
在你的代碼中放置一個斷點,在你有NULL REF的行上,當它遇到斷點時,突出顯示AuthContext.AspNetUsers.FirstOrDefault(x => x.Id == model.UserID)行的這一部分,右邊點擊並選擇快速查看,看看這個LINQ語句是否返回任何內容。 – mjw