NHibernate Linq不支持`Object.Equals`

时间:2016-02-19 17:49:13

标签: c# linq nhibernate

我正在尝试使用NHibernate 4.0.4.4000运行以下LINQ查询:

user = await Task.Run(() => Session.Query<TUser>().Where(u => u.Id.Equals(id)).FirstOrDefault()).WithCurrentCulture();

我收到以下错误:

System.NotSupportedException: Boolean Equals(System.String)

我无法使用==因为Id在通用类型参数TKey上输入,而C#不允许我这样做。我查了一下,NHibernate说这是fixed in NH3.0.0GA。当然在4.0.4中它不会再被修复了吗?是因为我在Task中运行它吗?除ToList之外是否有解决方法,然后使用Equals

0 个答案:

没有答案