我有下面的代碼力實體返回NULL如果singleResult拋出異常
return (EseshEntities.Current.Users.Select(u => new { Comunity = u.Apartment.Building.District.City })).ToList();
如果建築是空的,然後我們得到了錯誤時拋出的COS不能存取權限的空權的財產? 但實體中有沒有任何選項的excmance返回null,所以如果屬性 不存在,那麼返回null?
我有下面的代碼力實體返回NULL如果singleResult拋出異常
return (EseshEntities.Current.Users.Select(u => new { Comunity = u.Apartment.Building.District.City })).ToList();
如果建築是空的,然後我們得到了錯誤時拋出的COS不能存取權限的空權的財產? 但實體中有沒有任何選項的excmance返回null,所以如果屬性 不存在,那麼返回null?
這個怎麼樣?
return (EseshEntities.Current.Users.Select(u => new { Comunity = u.Apartment.Building ==null?null:u.Apartment.Building.District.City })).ToList();
你可以嘗試這樣的事情:
var list = (from u in EseshEntities.Current.Users
where u.Apartment.Building != null
select new { Comunity = u.Apartment.Building.District.City }).ToList();
return list;
,或者你可以試試這個:
return (EseshEntities.Current.Users.Select(u => new { Comunity = u.Apartment.ToInstance().Building.ToInstance().District.ToInstance().City })).ToList();
public static T ToInstance<T>(this T self)
{
T mySelf = default(T);
if (self != null)
mySelf = self;
else
mySelf = Activator.CreateInstance<T>();
return mySelf;
}
不,我問我也查詢關於userName或其他用戶的幾個屬性,這樣我將排除所有這些用戶不具有建築物財產。 – kosnkov 2012-03-16 14:20:05
我明白了,你是否嘗試初始化實體類的custructor中的每個屬性?這樣他們不是null。 – 2012-03-16 14:31:40
我修改了我的代碼。查看可能對您有幫助的更改。 – 2012-03-16 15:05:33
爲什麼不在選擇不返回任何空值之前構建where子句? – 2012-03-16 14:11:04
使用DefaultIfEmpty而不是選擇 – 2012-03-16 14:13:06
我猜他會希望所有用戶,無論他們是否Comunity = null或不。我想你無法繞過null檢查。 – KroaX 2012-03-16 14:13:47