我有下面的代码力实体返回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