<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>旁门左道 &#187; Exception</title>
	<atom:link href="http://log.medcl.net/item/tag/exception/feed/" rel="self" type="application/rss+xml" />
	<link>http://log.medcl.net</link>
	<description>记录生活</description>
	<lastBuildDate>Tue, 29 Nov 2011 15:39:56 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.2</generator>
		<item>
		<title>Nhibernate,“Antlr.Runtime.NoViableAltException”</title>
		<link>http://log.medcl.net/item/2010/03/nhibernate-u0026quotantlr-runtime-noviablealtexceptionu0026quot/</link>
		<comments>http://log.medcl.net/item/2010/03/nhibernate-u0026quotantlr-runtime-noviablealtexceptionu0026quot/#comments</comments>
		<pubDate>Sun, 07 Mar 2010 05:38:24 +0000</pubDate>
		<dc:creator>medcl</dc:creator>
				<category><![CDATA[Nhibernate]]></category>
		<category><![CDATA[Exception]]></category>
		<category><![CDATA[HQL]]></category>

		<guid isPermaLink="false">http://log.medcl.net/?p=242</guid>
		<description><![CDATA[今天出现这个异常，记录下，“Antlr.Runtime.NoViableAltException”，出现这个异常，首先请检查你的HQL语句是否有语法错误 另外贴一篇HQL,学习... From:http://www.cnblogs.com/lyj/archive/2008/10/15/1312089.html 本节内容 NHibernate中的查询方法 NHibernate查询语言(HQL) 1.from子句 2.select子句 3.where子句 4.order by子句 5.group by子句 实例分析 结语 上一节，我们初步搭建了一个NHibernate程序，完成了映射Customer表并读取数据功能，这一节和下一节我们初步探讨一下在NHibernate中的查询方法。我这之前还是先回忆一下上一节完成的东西，其中一张图很多人回复说非常经典，简单明了！还是看着图。总结一下上一节三个重要的事情：建立数据库表-----编写持久化类-----编写映射文件，然后配置使用了。 NHibernate中的查询方法 在NHibernate中提供了很多查询方式给我们选择，这里仅仅列举了3种方式：NHibernate查询语言(HQL，NHibernate Query Language)、条件查询(Criteria API，Query By Example(QBE)是Criteria API的一种特殊情况)、原生SQL(Literal SQL，T-SQL、PL/SQL)。每个人有不同的喜好和特长，可以根据自己的情况选择使用其中的一种或几种。这一节我们介绍NHibernate查询语言(HQL，NHibernate Query Language)。 NHibernate查询语言(HQL) NHibernate查询语言(HQL，NHibernate Query Language)是NHibernate特有的基于面向对象的SQL查询语言，它具有继承、多态和关联等特性。实际上是用OOP中的对象和属性映射了数据库中的表和列。 例如这一句：select c.Firstname from Customer c Customer是数据库表，Firstname是列；而对于HQL：Customer是一个对象，Firstname是Customer对象的属性。相比之下SQL语句非常灵活，但是没有编译时语法验证支持。 本节介绍基础语法：from子句，select子句，where子句，order by子句，group by子句并分别举出可以运行的实例。至于关联和连接，多态(polymorphism)查询，子查询在以后具体实例中学习。注意：HQL关键字不区分大小写。 注意：由于篇幅有限，我在这里仅仅贴出了数据访问层的代码，就是在业务逻辑层可以直接调用的方法。测试这些方法的代码就没有贴出来了，你可以下载本系列的源代码仔细看看测试这些方法的代码。这节，我们在上一节源代码的基础上，在数据访问层中新建QueryHql.cs类用于编写HQL查询方法，在数据访问的测试层新建一QueryHqlFixture.cs类用于测试。 1.from子句 顾名思义，同SQL语句类似： 1.简单用法：返回表中所有数据。 public IList From() { //返回所有Customer类的实例 return _session.CreateQuery("from Customer") .List(); } 2.使用别名：使用as来赋予表的别名，as可以省略。 [...]]]></description>
		<wfw:commentRss>http://log.medcl.net/item/2010/03/nhibernate-u0026quotantlr-runtime-noviablealtexceptionu0026quot/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

