NHibernate上的Linq总是返回null

时间:2012-03-18 10:22:01

标签: c# linq nhibernate

这是我的代码段。我的问题是变量a总是设置为null,因此我无法将更改提交到存储库。 知道为什么会这样吗?

var b = LoginTableRepository.Get().ToList();
var a = 
     (from obj in b
      where obj.SessionVariable == _sessionVariable
     select obj) as ObjectLogin;

if(a != null)
{
    // Code to update logout time and commit back to the repository.
}

变量b从LoginTable返回列表。但是'a'总是设置为null。

1 个答案:

答案 0 :(得分:1)

from obj in b where obj.SessionVariable == _sessionVariable select obj

返回IEnumerable的某些内容。如果您尝试将其投射到ObjectLogin,它将始终失败。

你可以尝试

(from obj in b where obj.SessionVariable == _sessionVariable select obj).FirstOrDefault();

或类似的东西从集合中选择一个元素。