LINQ查询空引用异常
我有下一个查询:
var bPermisos = from b in ruc.Permisos
where b.IdUsuario == cu.Id
select new Permisos(){
Id=b.Id,
IdUsuario=b.Id,
IdPerfil=b.Id,
Estatus=b.Estatus
};
var qSisPer = from perm in bPermisos
**select new {
perm.IdPerfil,
perm.Cat_Perfil.Nivel,
perm.Cat_Perfil.Nombre,
Nombre_Sistem=perm.Cat_Perfil.Cat_Sistema.Nombre**
};
并且抛出异常,请帮助!
I have the next query:
var bPermisos = from b in ruc.Permisos
where b.IdUsuario == cu.Id
select new Permisos(){
Id=b.Id,
IdUsuario=b.Id,
IdPerfil=b.Id,
Estatus=b.Estatus
};
var qSisPer = from perm in bPermisos
**select new {
perm.IdPerfil,
perm.Cat_Perfil.Nivel,
perm.Cat_Perfil.Nombre,
Nombre_Sistem=perm.Cat_Perfil.Cat_Sistema.Nombre**
};
And is throwing me an exception, plz help!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
对于初学者来说,我认为第一个查询可能可以重写为:
除此之外,还不清楚您的代码在做什么。您似乎正在重新投影已有的结果 - 获取已知类型的项目并创建匿名类型来保存它们。此外,第二个投影正在访问在第一个查询中未选择的一堆成员。
For starters, I think the first query can probably be rewritten as:
Beyond that, it is rather unclear what your code is doing. You appear to be re-projecting the results you already have -- taking items of a known type and creating an anonymous type to hold them. Furthermore, the second projection is accessing a bunch of members that were not selected in the first query.
发生这种情况的原因可能是以下任一情况:
cu
为null
ruc.Permisos
中的一个元素为null
,导致b.IdUsuario
出现异常如果是后者,您可以通过添加以下内容来处理此问题:
This could be happening because of any of the following:
cu
isnull
ruc.Permisos
isnull
, causing the exception onb.IdUsuario
If it's the latter, you can just handle this by adding: