NHibernate 语句查询问题???

微信公众号 2013-08-03 03:06:37
刚学习NHibernate,使用QBE查询语法,为什么查询出的结果不对呢?
这是我的查询语句:
            Student stu = new Student() { Name = "lisi" };
IList<Student> list = _session.CreateCriteria(typeof(Student))
.Add(Example.Create(stu))
.List<Student>();

数据库里的数据:

数据表结构:

我查看了一下NHibernate生产的SQL语句,为:
SELECT this_.id as id0_0_, this_.name as name0_0_, this_.sex as sex0_0_, this_.age as age0_0_ FROM people this_ 
WHERE (this_.name = ? and this_.age = ?)

为什么NHibernate生产的SQL语句里,多了一个age属性呢?
【ps:下面是我的源码:http://pan.baidu.com/share/link?shareid=731066113&uk=472680310
...全文
165 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
likofans 2013-08-03
  • 打赏
  • 举报
回复
引用 5 楼 jiajiayouba 的回复:
引用 4 楼 likofans 的回复:
[quote=引用 3 楼 jiajiayouba 的回复:] [quote=引用 2 楼 likofans 的回复:] Student对象的age默认是0吧,所以就查了 where name='lisi' and age=0
没设置默认值。
int 类型默认值就是0 用int? 试试[/quote]原来是int默认值的问题,改成可空值类型后,ok了,谢了。[/quote]客气
微信公众号 2013-08-03
  • 打赏
  • 举报
回复
引用 4 楼 likofans 的回复:
引用 3 楼 jiajiayouba 的回复:
[quote=引用 2 楼 likofans 的回复:] Student对象的age默认是0吧,所以就查了 where name='lisi' and age=0
没设置默认值。
int 类型默认值就是0 用int? 试试[/quote]原来是int默认值的问题,改成可空值类型后,ok了,谢了。
likofans 2013-08-03
  • 打赏
  • 举报
回复
引用 3 楼 jiajiayouba 的回复:
引用 2 楼 likofans 的回复:
Student对象的age默认是0吧,所以就查了 where name='lisi' and age=0
没设置默认值。
int 类型默认值就是0 用int? 试试
微信公众号 2013-08-03
  • 打赏
  • 举报
回复
引用 2 楼 likofans 的回复:
Student对象的age默认是0吧,所以就查了 where name='lisi' and age=0
没设置默认值。
likofans 2013-08-03
  • 打赏
  • 举报
回复
Student对象的age默认是0吧,所以就查了 where name='lisi' and age=0
微信公众号 2013-08-03
  • 打赏
  • 举报
回复
忘了说查询结果了,按照上面的查询语句,查询出来的结果是空的。

111,092

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧