(Asp.Net2.0下使用NHibernate-1.2.0)c# NHibernate配置问题

三省Ta叔 2006-12-19 05:53:58
错误提示:
D:\work\opensource\NHibernateTest\Customer.hbm.xml(2,4): XML validation error: 未能找到元素“urn:nhibernate-mapping-2.0:hibernate-mapping”的架构信息。

基本上按照网上流行的一些教程来配置的,出现这个错误,不知道在配置中那里出了问题,很郁闷。屡试屡败。

现在特需要傻瓜试教程一份。
那为大哥指教下啊!!!谢谢了。

我的基本配置如下:

引用基本的 dll 这个网上都一致

在 Web.config 添加:

<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=Northwind;Integrated Security=SSPI"/>
</nhibernate>


我的映像 XML 文件: User.hbm.xml

<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.0">
<class name="NHibernate.Examples.QuickStart.User, NHibernate.Examples" table="Users">
<id name="Id" column="LogonId" type="String" length="20">
<generator class="identity" />
</id>
<property name="Username" type="string" length="40"/>
<property name="Password" type="string" length="20"/>
<property name="EmailAddress" type="String" length="40"/>
<property name="LastLogon" type="DateTime"/>
</class>
</hibernate-mapping>


然后自己写了个类,编译成 dll

在Default.aspx.cs 里写操作数据库的代码,比如插入:

protected void Button2_Click(object sender, EventArgs e)
{
NHibernate.Cfg.Configuration cfg = new NHibernate.Cfg.Configuration();
cfg.AddXmlFile(Server.MapPath("Customer.hbm.xml"));
ISession session = cfg.BuildSessionFactory().OpenSession();
ITransaction transaction = session.BeginTransaction();
User newUser = new User();
newUser.Id = "joe_cool";
newUser.UserName = "Joseph Cool";
newUser.Password = "abc123";
newUser.EmailAddress = "joe@cool.com";
newUser.LastLogon = DateTime.Now;
session.Save(newUser);
transaction.Commit();
session.Close();
}

运行,点按钮,这样就出现了 最上面的那错误。
麻烦大家帮帮忙,我刚学这个框架,也准备要用它。在这里先谢谢大家了。
...全文
422 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
ilexyang 2007-03-08
  • 打赏
  • 举报
回复
说的我都听不太懂,学习啊!
可以向您请教吗? 
邮箱:ilex_2040@126.com
qq:425014195
三省Ta叔 2006-12-31
  • 打赏
  • 举报
回复
网上有些文章说把 XML 文件设置为嵌入资源,但是2005只有在 WinForm里可以设置文件为嵌入资源啊,所以前面做的是在WinForm里把xml文件做嵌入资源然后编译。再在webform里调用这个dll文件。不知道 在 wenbform里怎么设置文件为嵌入资源。
知道的告诉我啊,谢谢了
大家要是谁有 asp.net2.0 对这个 Nhibernate 简单的操作例子也发我啊
三省Ta叔 2006-12-26
  • 打赏
  • 举报
回复
我知道了,用嵌入资源可以,应该还有其它的方法
shilang999 2006-12-22
  • 打赏
  • 举报
回复
我也正在研究,碰到如下问题:
Could not load file or assembly 'QuickStart' or one of its dependencies. 系统找不到指定的文件。顺路问一下,怎么回事?我是用NHibernate-1.2.0.Beta2-debug版本在vs2005上研究的。完全按照上面的第一章quickstart with IIS and Microsoft SQL Server上的照搬的。
huahua8316 2006-12-21
  • 打赏
  • 举报
回复
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.0">
改为
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
ilexyang 2006-12-20
  • 打赏
  • 举报
回复
友情支持
witer666 2006-12-20
  • 打赏
  • 举报
回复
还不会,帮顶一下啦!
dinoLgrace 2006-12-20
  • 打赏
  • 举报
回复
楼主别急,我毕业设计的时候搞过,不过下班了,明天找找以前的看再上来
你为什么然后自己写了个类,编译成 dll呢?我记得以前好像要五个步骤吧,
第一步:写构建表的SQL
第二步:产生一个.Net 类文件
第三步:写映射文件
第四步:为你的数据库产生一个配置文件
第五步:开始展现NHibernate的魔力

发个链接你看看,我以前也是一步步来的,希望你成功,成功了别忘了给我分哦
http://dev.csdn.net/Develop/article/28/63977.shtm

还有,你看下你的webconfig对了没有

以下是数据库为sql server 的nhibernate配置节:
<configSections>
<section name="nhibernate"
type="System.Configuration.NameValueSectionHandler, System, Version=1.0.5000.0,Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
</configSections>
<nhibernate>
<add key="hibernate.show_sql"
value="true"/>
<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="Data Source=server;Initial Catalog=schema;User ID=username;Password=password"/>
</nhibernate>


三省Ta叔 2006-12-20
  • 打赏
  • 举报
回复
天啊,几天了,还没人帮我解决啊,我这问题很烂吗?
跪求解决方案!
解决了,请你喝茶,帮你按摩!

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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