HQL的查询的语句比如: “from EntityClass”,这里的EntityClass千万不要以为是数据库的表,
而是和你的映射的表对应的实体类的名字.
数据库名:Nhibernate
use NHibernate
go
CREATE TABLE users (
LogonID nvarchar(20) NOT NULL default '0',
Name nvarchar(40) default NULL,
Password nvarchar(20) default NULL,
EmailAddress nvarchar(40) default NULL,
PRIMARY KEY (LogonID)
)
go
数据表:users
public class EntityClass
{
private string id;
private string userName;
private string password;
private string emailAddress;
public EntityClass()
{
}
public EntityClass(string theid)
{
LoadFromID(theid);
}
public string Id
{
get { return id; }
set { id = value; }
}
public string UserName
{
get { return userName; }
set { userName = value; }
}
public string Password
{
get { return password; }
set { password = value; }
}
public IList ExecuteSQL(string query)
{
NHibernate.Cfg.Configuration mCfg = new Configuration();//创建配置类
mCfg.AddXmlFile(System.Web.HttpContext.Current.Server.MapPath("User.hbm.xml"));//指明映射文件Userhbm.xml
ISession vSession= mCfg.BuildSessionFactory().OpenSession();//创建会话工厂, 一般来说应该使用一个单例对象来封装会话工厂.
return vSession.CreateQuery(query).List();
}
如果你写成 from users就错了