我是新來的LINQ和實體框架,並正在就這一查詢接收空引用異常:對象引用錯誤 - LINQ的
using (var db = new PhoenixContext())
{
tblCustomer cust = (from c in db.tblCustomer
where c.CustomerID == _CustomerID
select c).FirstOrDefault();
string altPhone;
altPhone = cust.tblCustomerContactInformation1.tblCustomerContactInformationPhone.Where(p => p.PhoneTypeID == 2).FirstOrDefault().Phone;
)
有在tblCustomerContactInformationPhone單行。 Where子句應該刪除它,並且我最終應該得到一個空字符串。但是,相反,我得到:
Object reference not set to an instance of an object.
我在做什麼錯了,我怎麼正確地做到這一點,使查詢結果爲空時正確地轉換爲一個空字符串?
鏈接的問題是沒有用的,因爲這是特定於使用Linq,該問題不包括。 @ evanmcdonnal的回答很有幫助,並解決了我的問題。
請顯示所有相關代碼的含義如何定義cust以及您聲明的所有其他對象。您不能聲明對象的實例,例如「MyObject myobject;」,並期望獲得訪問權限或分配值到任何它的字段或屬性沒有'Nweing'對象..做一個谷歌搜索關於如何實例化的例子對象引用 – MethodMan
'.FirstOrDefault()'返回'null'如果沒有行返回。你不能訪問'null.Phone'。 – Blorgbeard
可能的重複[什麼是NullReferenceException,我該如何解決它?](http://stackoverflow.com/questions/4660142/what-is-a-nullreferenceexception-and-how-do-i-fix-it) – Blorgbeard