关于Nhibernate配置问题

wozniak 2008-04-03 11:03:55
我是刚开始用Nhibernate,老是出现问题:
映射文件user.hbm.xml找不到架构信息 ,是和我的Nhibernate的版本有关吗?
有没有朋友曾遇到过类似的问题,帮小弟一把,多谢了!
具体代码如下:
1.Users类
namespace guestbook.data
{
public class Users
{
public Users()
{ }

private System.Int32 _flag;
public System.Int32 flag
{
get { return _flag; }
set { _flag = value; }
}

private System.String _email;
public System.String email
{
get { return _email; }
set { _email = value; }
}

private System.Int32 _id;
public System.Int32 id
{
get { return _id; }
set { _id = value; }
}

private System.DateTime _regtime;
public System.DateTime regtime
{
get { return _regtime; }
set { _regtime = value; }
}

private System.String _Name;
public System.String Name
{
get { return _Name; }
set { _Name = value; }
}

private System.String _password;
public System.String password
{
get { return _password; }
set { _password = value; }
}
}

}
2.User.hbm.xml文件
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-1.0">
<class name="guestbook.data.users, guestbook.data" table="G_users">
<id name="id" column="id" type="Int32">
<generator class="identity" />
</id>
<property name="Name" type="String(20)" column="Name" />
<property name="email" type="String(40)" column="email" />
<property name="password" type="String(20)" column="password" />
<property name="flag" type="Int32" column="flag" />
<property name="regtime" type="DateTime" column="regtime" />
</class>
</hibernate-mapping>
3.App.Config
<?xml version="1.0" encoding="utf-8" ?>

<configuration>

<configSections>

<section name="nhibernate" type="System.Configuration.NameValueSectionHandler, System, Version=1.0.3300.0,Culture=neutral, PublicKeyToken=b77a5c561934e089" />

</configSections>

<nhibernate>

<add key="hibernate.connection.provider" value="NHibernate.Connection.DriverConnectionProvider" />

<add key="hibernate.dialect" value="NHibernate.Dialect.MsSql2000Dialect" />

<add key="hibernate.connection.driver_class" value="NHibernate.Driver.SqlClientDriver" />

<add key="hibernate.connection.connection_string" value="Server=localhost;initial catalog=NhibernateTest;User ID=sa;Password=sa;Min Pool Size=2" />

</nhibernate>

</configuration>

4.测试代码
namespace guestbook.test
{
/**/
/// <summary>
/// DataLayerUsersTest 的摘要说明。
/// </summary>
[TestFixture]
public class DataLayerUsersTest
{
public DataLayerUsersTest()
{

}

[Test]
public void testAdd()
{
Configuration cfg = new Configuration();
cfg.AddXmlFile("User.hbm.xml");

ISessionFactory f = cfg.BuildSessionFactory();
ISession s = f.OpenSession();
ITransaction t = s.BeginTransaction();

Users newUser = new Users();
newUser.Name = "papersnake";
newUser.password = "24976904";
newUser.email = "papersnakes@gmail.com";
newUser.regtime = DateTime.Now;

s.Save(newUser);

t.Commit();
s.Close();



}
}
}
...全文
52 4 打赏 收藏 举报
写回复
4 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
叶子 2008-04-15
不是版本的问题,是设置的问题!
  • 打赏
  • 举报
回复
林g 2008-04-08
不要手写,很容易出错
  • 打赏
  • 举报
回复
林g 2008-04-05
看了
很是 麻烦
  • 打赏
  • 举报
回复
Kshatriya 2008-04-05
注意大小写和命名空间, 配置文件和实体最好用mygeneration 生成,不要手写,很容易出错的
  • 打赏
  • 举报
回复
发帖
.NET技术前瞻

1.3w+

社区成员

.NET技术 .NET技术前瞻
社区管理员
  • .NET技术前瞻社区
加入社区
帖子事件
创建了帖子
2008-04-03 11:03
社区公告
暂无公告