我刚刚从NHibernate 2.1更新为NHibernate 3.1。我发现,使用Linq的equals运算符未针对其他类型(字符串)实现。我在互联网上找到了article来解决此问题。对于基本类型来说,这很好用,但是现在我想比较一个自定义实体,但是我无法使用它。我尝试了一些实现,但没有任何效果:ReflectionHelper.GetMethodDefinition<CustomEntity>(x => x.Equals(<CustomEntity>(0)))ReflectionHelper.GetMethodDefinition<CustomEntity>(x => x.Equals(typeof(CustomEntity))我要执行的查询如下:Session.Query<SomeEntity>().Where(x => x.CustomEntity.Equals(CustomEntity);如何扩展等值线以允许这样做并且不获取NotSupportedException? 最佳答案 当您执行Query ()方法时,.quals方法无法转换为系统完成的SQL。尝试使用如下公式:Session.Query<SomeEntity>().Where(x => x.CustomEntity.Id == CustomEntity.Id);关于c# - NHibernate 3.1查询等于,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5349388/ 10-11 03:29