DDLLY命名空间
DDLLY命名空间有两个类DDL和LLY
博客园
首页
社区
联系
订阅
管理
随笔-81 评论-910 文章-0 trackbacks-56
有关NHibernate的问题请在此提出
我会尽我所能帮大家解决问题,和大家共同进步!
posted on 2006-08-03 12:43
DDL
阅读(5688)
评论(83)
编辑
收藏
网摘
所属分类:
NHibernate
评论:
1526619
#1楼
2006-08-04 20:57 |
superstar
请问一个nhibernate的简单的问题就是删除操作的时候
Delete(实体对象)的时候,实体对象只set一个id值能否删除,希望能帮解答一下,谢谢!
回复
引用
查看
#2楼
[
楼主
] 2006-08-07 10:36 |
DDL
@ superstar
先用Load方法读取此对象,然后删除对象.
你可以把这个操作封装成一个方法
回复
引用
查看
#3楼
2006-08-07 15:06 |
superstar
哦,这样就没有必要用这种方法了,还不如用hql语句的方法删除,之所以想用实体对象删除是为了不需要再load一次浪费性能,楼上既然这样说还是用hql好
回复
引用
查看
#4楼
2006-08-08 19:46 |
dino2006[未注册用户]
我在新增一条记录的时候,老是报错说:could not save object 或者是could not insert [DAL.VO.RegisterFile#20060808001] ,
DAL.VO.RegisterFile 是我的一个SET/GET 的类来的,20060808001是我插入的主健值,
这个到底是怎么回事呀?
回复
引用
#5楼
[
楼主
] 2006-08-09 09:49 |
DDL
建议你先按
NHibernate的调试技巧和Log4Net配置
里面说的调试看看,仔细检查下日志文件记录的Sql,并试着单独运行此Sql.
回复
引用
查看
#6楼
2006-08-09 16:52 |
nasa[未注册用户]
请问多对多的搜索是怎么样做的. 我现在作的一个项目卡在这个问题上了. 我的msn:nasa_wz@hotmail.com
回复
引用
#7楼
[
楼主
] 2006-08-09 17:59 |
DDL
@nasa
这两天问一对多,多对多的人很多,我这几天就会写篇随笔做详细的介绍。
回复
引用
查看
#8楼
2006-08-15 09:43 |
xinghuang[未注册用户]
我现在在做一个项目,数据库有好几百张表,采用方法是在启动时NHibernate一次性全部加载实体类进行初始化映射,但要非常久的时间,不知道有什么办法可以提高初始化速度。
回复
引用
#9楼
[
楼主
] 2006-08-16 17:58 |
DDL
@xinghuang
http://www.cnblogs.com/renrenqq/archive/2006/08/02/466056.html
">
http://www.cnblogs.com/renrenqq/archive/2006/08/02/466056.html
采用在代码中使用Configuration.AddClass方法逐一加载实体类的方法,按使用到模块或者类进行加载.
可以用Configuration.ClassMappings检查类是否已加载。
回复
引用
查看
#10楼
2006-08-30 16:04 |
gothing[未注册用户]
我在Web Service下使用NHibernate遇到的问题:
我把NHibernate放到Web Service下,某些表之间有关联,数据库的映射文件包含Bag元素;Client端只使用Web Service;出现问题是:
System.InvalidOperationException: Type 'NHibernate.Collection.Bag, NHibernate, Version=1.0.0.0, Culture=neutral, PublicKeyToken=154fdcb44c4484fc' does not implement IXmlSerializable interface therefore can not proceed with serialization.
如果把映射文件的Bag元素删掉,相应的去掉cs代码中获取IList的代码,则可以通过;
如果Client不使用Web Service,而是直接与NHibernate通讯,映射部分不删掉也没问题;
以上不是最好的解决办法。为何会出现这个问题呢,希望大家回复。
回复
引用
#11楼
2006-08-30 16:48 |
若有若雾
在分层结构的WEB表示层中,使用数据层的数据库数据是多元的,
有的只使用查询表的一个值,有的使用两个,或者三个,四个
在分层结构中,一般数据库的表数据都被封装在 业务实体中,通过业务逻辑层返回实体,给WEB表示层使用
如果不管表示层是使用一个数据段,还是三个数据段,都返回一个完整的实体,对于查询字段较多的表,性能上应该是不一样的
我想请教的就是,如何使用一种方法 对数据表的查询使用进行统一
我想过建立 一个视图 实体,对应 表示层中使用的数据
比如一个表用户表 有 5 个字段 id name age address birth (这里只是简单列举,如果在项目中字段是很多的)
表示层的一个应用 只需根据 id 返回 name age , 那么建立数据视图实体 对应这两个字段
表示层的另一个应用 需根据 id 返回 name age address ,那么建立 视图实体 对应这三个字段
我只是想过,不知道这样是否可以提高性能,但这样 产生的代码 太多了,如果对于一个字段有几十个的表,又有十几种不同的应用的话,那么要建立十几中的视图 实体
想请教高手 ,在实际项目中如何在分层结构里解决这种问题的,谢谢!
ps:我是做dotnet web方面的开发
期待回答,指导!
回复
引用
查看
#12楼
[
楼主
] 2006-08-31 09:38 |
DDL
@若有若雾
对于大多数情况来说,取一个对象的所有值对性能影响不是很大的.而且如果用上NH的缓存机制,对象从数据库中取得会缓存在内存中.
对于表中有大字段比如(text,image)的时候,可以考虑使用多个实体映射一张表的方法.一个实体映射表中非大字段的其他字段,一个实体映射表中的大字段和主键.然后只有需要用到大对象时才读取后一个实体.(NH现在暂时不支持字段的延迟加载,延迟加载可以让字段在受到访问时才读取,等NH支持延迟加载后可以使用单个实体了)
对于性能要求比较高的地方,或者是明显的分字段访问(例如某一个实体类总是只访问其中几个字段,而其他字段一般不访问,或者是到另外一处才被访问).你可以考虑把一个表映射成多个实体.
但是注意不要把表划分成多个实体.这样一是不好充分的利用缓存.对于开发者来说也是很恐怖的,因为对象实在太多.而且从面向对象的角度考虑你会觉得很别扭.
回复
引用
查看
#13楼
[
楼主
] 2006-08-31 12:34 |
DDL
@gothing
我没有发现此问题.我写了Web Service测试,并未发现此问题
回复
引用
查看
#14楼
2006-08-31 16:41 |
gothing[未注册用户]
非常感谢DDL的回复!
可我始终不知道错误在哪里。有人说是IList之类的东西不能序列化,可那时CodeSmith自动生成的代码;而且不用Web Service就没问题,难道不用Web Service就没有序列化了吗?调用Web Service时是否要序列化?
能否拜读一下您的测试代码,非常感激!我的Email:gothing@163.com。
回复
引用
#15楼
2006-09-08 21:05 |
hai4[未注册用户]
in expected: <end-of-text> (possibly an invalid or unmapped class name was used in the query) [from V_SYS_Users]
每次执行到query.List()时就报错!!!
回复
引用
#16楼
2006-09-14 18:02 |
msnetc[匿名][未注册用户]
我刚了解。
请问 我想用NHibernate作一个商业网站,请问NHibernate 成熟吗?
NHibernate 支持调用存储过程吗?
那个版本的NHibernate 比较成熟?
回复
引用
#17楼
[
楼主
] 2006-09-15 10:43 |
DDL
@msnetc
NHibernate已经很成熟了
建议你使用1.02版本
回复
引用
查看
#18楼
[
楼主
] 2006-09-15 11:09 |
DDL
@hai4
检查你是否查询了没有正确映射的实体
回复
引用
查看
#19楼
2006-09-22 14:47 |
HAPPY[匿名][未注册用户]
现有一个主表 BillMain 和一个子表
BillMain表有以下4列:
mainID (主键,自增长列)、BillCode、CreateMain、Description
BillSub表有以下3列
mainID、subID、Description
其中BillSub表的 mainID和subID是联合主键
-------------------------------------------
配置文件如下:
<class name="NHBDemo.BillMain,NHBDemo" table="BillMain">
<id name="mainID" column="mainID">
<generator class="identity" />
</id>
<property name="BillCode"/>
<property name="CreateMan" />
<property name="Description" />
<bag name="BillSubs" cascade="all" inverse="true" lazy="true">
<key column="mainID" />
<one-to-many class="NHBDemo.BillSub,NHBDemo"/>
</bag>
</class>
--------------------------------------------------------
<class name="NHBDemo.BillSub,NHBDemo" table="BillSub">
<composite-id >
<key-property name="subID" />
<key-many-to-one name="mainID" column="mainID" class="NHBDemo.BillMain,NHBDemo"/>
</composite-id>
<property name="Description"/>
</class>
-----------------------------------------------------
在保存时无论先保存子表还是先保存主表都报
could not update: [NHBDemo.BillSub#NHBDemo.BillSub]
回复
引用
#20楼
2006-09-25 14:45 |
桃子[未注册用户]
我写一个双向的one-to-many的例子测试TestCreate时老是报
Unknown entity class: NHibernate.CRUDTest.Entity.AddressEntity
为什么???
回复
引用
#21楼
[
楼主
] 2006-09-26 10:38 |
DDL
@HAPPY
建议你不要使用联合主键,BillSub建立单独的组建.
@桃子
检查你的实体是否正确影射,检查你的.hbm是否嵌入资源
回复
引用
查看
#22楼
2006-10-09 22:27 |
Young.J[未注册用户]
刚开始学NHibernate,照着quick start试了一次,我把代码copy的,但允许是报Configuration cfg = new Configuration();这句有错,错误信息是“NHibernate.Cfg.Configuration”的类型初始值设定项引发异常。
不知道你们有没有遇到过,我可是一步一步ctrl+c的,不知道哪地方出问题了,请高手指点!
回复
引用
#23楼
2006-10-20 10:48 |
WideWeide
最近需要实现一个数据导入导出的功能,原本想直接把对象序列化成xml文件,然后反序列化用Hibernate保存,问题搞定。
在实际运行时发现带有集合属性的对象无法序列化,目前的思路是把手工读取对象的属性放到xml文件,然后读取之,工作量较大。且做到通用非常不易。
不知道DDL兄可有简单的处理办法?
回复
引用
查看
#24楼
2006-10-24 16:10 |
何芳[未注册用户]
第一次接触NHibernate,知道它是由hibernate开发工具启发而来的基于.NET的关系型数据库的对象持久化类库,可以通过第三方工具来生成表对应关系XML文件及相关代码。
我的问题是,为什么NHibernate没有自带的工具,就如同.net三层架构开发的时候,有一个数据访问辅助类,SqlHelper,却没有相关的生成工具;要使用代码生成器,就必须使用第三方生成器的辅助基类。
回复
引用
#25楼
2006-10-26 16:33 |
yellowslow[未注册用户]
数据库中有几行数据,我取出来到内存中,再对他进行删除第一行,再追加一行,并修改某行数据后,怎么存到库里?调用SaveOrUpdate方法并不能把删除的信息删除掉,我要怎么操作呢?
回复
引用
#26楼
2006-10-27 10:04 |
WideWeide
请教下:下面的基类是否已经有人实现了,在哪找到?
=============
NHibernate实现自操作的实体类
|
非鱼软件工作室
Friday, April 07. 2006
NHibernate实现自操作的实体类
作者 Jason Cui 在 NHibernate 在 05:47
NHibernate
对NHibernate操作Access的研究暂告一段落,近期的主要精力放在开发另一套系统上了,使用NHibernate+Sql Server。有了前面的经验,总算是做起来快一些了。
偶尔在一篇Blog上看到了个将Nhibernate的实体类写成自操作的类的方法,想想自己真是愚蠢。当初看到NHibernate教程的时候,看到那些实体里只有变量和属性的声明,当时也觉得奇怪,为什么一个方法也没有,不过却从来没有去考虑过怎样把方法加进去。至少最基本的Save, Update, Delete应该是自操作的,这样看上去才容易一些,添加新的类也更容易。以前的那个程序表比较少,所有的数据操作都在一个DBClass里面,每个表至少需要4到5个操作方式,加起来也是相当可观的量了。每次查找修改一个方法都要找一阵子。而把方法分散到每个人自已的实体类里,修改起来也容易的多了。
对于基本的Insert,Update,Delete,都是针对某个实体的,所以可以做为实例方法,而所有的实体类的方法完全相同,于是抽象出一个基类,放入Save,Update和Delete方法。在基类中并没有直接访问NHibernate,而是又加了一层包装,DBHelper类。应用 Singleton模式,DBHelper类只能实例化一次。基类的这三个方法都很简单,只是调用一句db.Save(this),而db就是 DBHelper的实例,它里面也只有一个调用:打开session, session.Save(o), 关闭session。NHibernate会自动分辨传入的对象的类型并保存它。另外两个方法也是一样的。
但是对于Select就不同了。在我们Select之前,我们还没有得到这个类的实例,那么我们就没有理由将它作为实例方法,而应该是类的静态方法。一开始我将这个方法也放入基类,结果发现C#不允许重写基类中的静态方法,而且在这个静态方法中也无法得到当前的类名和类型。于是将所有的Load方法放入子类中作为静态方法,但是这样又不能访问基类里的成员db了。在这里搞了很久,最后下了一记狠招,将DBHelper中所有的成员和方法声明成静态的,包括构造函数。在静态构造函数中检查Configuration变量是否已有值,如果没有就初始化它。
然后将基类中的三个方法的调用改成类方法调用,去除成员db。然后在所有的子类中添加Load,使用类方法调用DBHelper中的Load,并传入自己的类型。这样的方法基本上也有三个,LoadByID, LoadAll和DeleteByID。
至此,终于可以使用所有的自处理的类了。你可以这样得到一个已有值:
User user = User.LoadByID(100);
或者这样新建一个值:
User user = new User();
//设置变量的值。
user.Save();
回复
引用
查看
#27楼
2006-11-09 14:21 |
余冰[匿名]
今天上午在MSN群里和大家讨论了下,NHB和ADO.NET并发事务处理的问题。中午做了个Demo出来,实现了一部分功能。但是,却有个问题。使用ISessionFactoryImplementor打开一个工厂后。给相应的一个Session传了一个IDbConnection对象,结果,Session在Flush的时候报错。提示无法插入对象。想问下,有没有什么更好的办法解决这个并发事务呢?
回复
引用
#28楼
2006-11-09 20:27 |
风魂[匿名][未注册用户]
在使用一对多的双向关联时遇上两个问题:
public class WorkShift
{
pulibc int WorkShiftID {get{return m_workShiftID};set{m_workShiftID=value;}}
public IList TimeSpans{get{return m_timeSpans;} set{m_timeSpans=value;}}
private int m_workShiftID;
private IList m_timeSpans;
}
public class TimeSpan
{
public int TimeSpanID{get{return m_timeSpanID;} set{m_timeSpanID=value;}}
public WorkShift WorkShift{get{return m_workShift;} set{m_workShift=value;}}
private int m_timeSpanID;
private WorkShift m_workShift;
}
// WorkShift 的 xml
<bag name="TimeSpans" cascade="all" inverse="true" lazy="false">
<key column="ID"/>
<one-to-many class="HR.WorkShiftTimeSpan, HR"/>
</bag>
// TimeSpan 的 xml
<many-to-one name="WorkShift" column="WorkShiftID" class="HR.WorkShift, HR" />
问题一:很多例子都在主表的配置上都是用<set>,而我用<set>的话话,会提示“指定的转换无效”,查了一下,和在保存时会有一个对集合转ISet的操作,所以报错。不是说.net下面的IList、IDictionary都支持吗?后来改成<bag>就可以了。也不知<bag>和<set>有什么差别
问题二:用<bag>虽然可以保存了。我写入一笔主档WorkShift,对应有五个TimeSpan,数据库里都写成功了,但用session.Load(typeof(WorkShift), workShiftID);时,TimeSpan始终只加载了第一笔,没有五笔都加载。。。。。郁闷!!!!!!!!!
回复
引用
#29楼
2006-11-10 10:09 |
菜鸟[匿名][未注册用户]
大哥给各思路吧:
---------------------
三张表
[school] 学校id: schoid ;学校名称:schoname
[class] 班级id:classid ;班级名称:classname ;班级信息:classinfo
[student] 学生id:stuid ;学生名: stuname ; 学生分数:mark(int);
学期:term(1,2,3,4)
假设就一门课,四个学期
统计出(order by schoname,classname ,classinfo,stuname, mark ) :
学校名称, 名称, 班级信息, 学生 , 平均分(mark)
schoname classname classinfo stuname mark
-----------------------
请问该怎么解决呢,主要是HQL语句的写法
回复
引用
#30楼
2006-11-10 10:27 |
菜鸟[匿名][未注册用户]
大哥给各思路吧-2:
--------------------- -
表结构为:
tabcurr: id,name
tabhist: id,name
表tabcurr和表tabhist的结构完全一样。
tabcurr 表达的 当前正在使用的记录 ;
tabhist 表达的 是历史信息.
//统计出两张表的内容(order by name)
id name
1 3
.. ...
-----------------------
可以用原生SQL 或者HQL 解决都行的.大哥,救救欧吧.!
回复
引用
#31楼
2006-12-01 10:58 |
JSHYHZJ[未注册用户]
public class User
{
private Int64 id;
public Int64 Id
{
get { return id; }
set { id = value; }
}
private String userName;
public String UserName
{
get { return userName; }
set { userName = value; }
}
private Group properTo;
public Group ProperTo
{
get { return properTo; }
set { properTo = value; }
}
}
User.hbm.xml
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.0"
assembly="grid"
namespace="grid">
<class name="User" table="TUser">
<id name="Id" column="Id" type="Int64" >
<generator class="identity" />
</id>
<property name="UserName" column= "UserName" type="String" length="20"/>
<!--<property name="ProperTo" column= "ProperTo" type="Int64"/>-->
<many-to-one name="ProperTo" class="Group" column="ProperTo" unique="true"/>
</class>
</hibernate-mapping>
Group.hbm.xml
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.0"
assembly="grid"
namespace="grid">
<class name="Group" table="TGroup">
<id name="Id" column="Id" type="Int64" >
<generator class="identity" />
</id>
<property name="GroupName" column= "GroupName" type="String" length="20"/>
</class>
</hibernate-mapping>
ISession ssn = hbmCfg.SessionFactory.OpenSession();
User user;
try
{
user = ssn.Get(typeof(User), fUserId) as User;
lUserName.Text = user.UserName;
lGroupName.Text = user.ProperTo.GroupName;
//=====================================
//为什么ProperTo的值都是空的? 如何手工装入ProperTo?
//=====================================
}
catch (Exception dde)
{
log.ExceptionLog("", dde);
}
finally
{
ssn.Close();
}
回复
引用
#32楼
2006-12-15 01:51 |
jack[匿名][未注册用户]
知道要怎么连mysql数据库么.
回复
引用
#33楼
2006-12-22 11:20 |
witer666[匿名]
请问NHibernate在VS2005中的ASP.NET2.0中如何用呢,我试过很我次都不成功,提示这个:
Could not configure datastore from file E:\NHibernateDemo\users.hbm.xml
请帮我看一下,谢谢
回复
引用
#34楼
2006-12-22 16:01 |
wwwxuehu[未注册用户]
未能找到元素“urn:nhibernate-mapping-2.0:hibernate-mapping”的架构信息
NHibernate.Cfg.Configuration cfg = new NHibernate.Cfg.Configuration();
行 34: //cfg.AddAssembly(Assembly.GetExecutingAssembly());
行 35: cfg.AddXmlFile(System.Web.HttpContext.Current.Server.MapPath(@"~\App_Code") + @"\Customer.hbm.xml");
行 36: //cfg.Configure(System.Web.HttpContext.Current.Server.MapPath("~") + @"\hibernate.cfg.xml");
行 37: //cfg.AddAssembly();
这个问题怎么解决?
回复
引用
#35楼
2007-02-05 19:27 |
rooping[未注册用户]
<session-factory> element was not found in the configuration file?
你好,请问这个问题怎么解决 ?
环境asp2.0
我的配置文件:
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.0">
<session-factory name="Domain">
<!-- SQL Server 2000/2005-->
<property name="connection.connection_string">server=BL08;database=PermissionBase;uid=sa;pwd=sa</property>
<property name="connection.driver_class">NHibernate.Driver.SqlClientDriver</property>
<property name="dialect">NHibernate.Dialect.MsSql2000Dialect</property>
<property name="connection.provider">NHibernate.Connection.DriverConnectionProvider</property>
<property name="show_sql">true</property>
<property name="use_outer_join">true</property>
<property name="query.substitutions">true 1, false 0, yes 'Y', no 'N'</property>
<property name="cache.provider_class">NHibernate.Caches.SysCache.SysCacheProvider,NHibernate.Caches.SysCache</property>
<property name="cache.use_query_cache">false</property>
<property name="relativeExpiration">120</property>
<mapping assembly="Domain" />
</session-factory>
</hibernate-configuration>
回复
引用
#36楼
2007-03-07 09:43 |
chenyq2008[未注册用户]
请问NHibernate如何实现many-to-many的关联查询?
例如User和Group是many-to-many的关系,用中间表UserGroups关联,如果要查询一个Group中有多少User,用NHibernate如何写代码?
回复
引用
#37楼
2007-03-21 16:14 |
wuda8[未注册用户]
我想知道,怎样通过NHibernate将返回的集合通过dataGridView显示出来?
回复
引用
#38楼
2007-03-22 00:32 |
ni[未注册用户]
请问一下,出现以下情况,到底是哪处地方配置错了?
错误:could not update: [ChatRoom.Entity.UserInfo#1][SQL: UPDATE UserInfo SET NickName = ?, UserName = ?, Password = ?, Birthday = ?, Gender = ?, LastLoginTime = ?, LastLoginIP = ?, Status = ?, Type = ?, FaceUrl = ?, Remark = ? WHERE UserId = ?]
谢谢!期待中......
回复
引用
#39楼
2007-03-22 00:40 |
ni[未注册用户]
请问一下,出现以下情况,到底是哪处地方配置错了?
错误:could not update: [ChatRoom.Entity.UserInfo#1][SQL: UPDATE UserInfo SET NickName = ?, UserName = ?, Password = ?, Birthday = ?, Gender = ?, LastLoginTime = ?, LastLoginIP = ?, Status = ?, Type = ?, FaceUrl = ?, Remark = ? WHERE UserId = ?]
谢谢!期待中......
回复
引用
#40楼
2007-04-10 10:58 |
郑[未注册用户]
我在使用NHIBERNATE分页时遇到下列问题,我想找到Nhibernate分页的方法.SQL分页已经解决了。但是,基于NHIBERNATE的对象分页还没找到,不知道大家明白我的意思不,针对对象分页,那么查询条件中写的则是对象的属性,而不是真实的字段名字。
我目前遇到的问题是,在使用select count()的时候NHIBERNATE并不支持。不知道NHIBERNATE是怎么回事情和hibernate有所不同,下面是我的代码,请高手指正。
回复
引用
#41楼
2007-04-10 11:01 |
郑[未注册用户]
public class QueryHandler
{
private static QueryHandler _instance = new QueryHandler();
private static readonly ILog log = LogManager.GetLogger(typeof(QueryHandler));
public static QueryHandler Instance
{
get { return QueryHandler._instance; }
}
public QueryHandler() { }
public IPage QueryByPage(int pageNumber, int pageSize,
ArrayList valuesList, String hql)
{
if (hql == null || hql.Equals(""))
return null;
IPage page = null;
ISession session = null;
try {
session = NHibernateHelper.GetInstance().GetSession();
int total = GetTotalCount(session, hql, valuesList);
ArrayList querylist =new ArrayList(Query(session, hql, valuesList, pageNumber, pageSize));
page = new NHibernatePage(querylist, total, pageNumber, pageSize);
}
catch (Exception e) {
log.Error("分页查询时发生数据库错误, hql:" + hql + "\r\n错误:" + e);
}
finally {
if (session != null)
session.Close();
}
return page;
}
private int GetTotalCount(ISession session, String hql, ArrayList valuesList){
int count = 0;
int sql_orderby = hql.IndexOf("order by");
int sql_from=hql.ToLower().IndexOf("from");
int sql_select=hql.ToLower().IndexOf("select");
int sql_field=hql.ToLower().IndexOf(",");
if(sql_from==-1) sql_from=0;
if(sql_select==-1) sql_select=0;
else{sql_select=sql_select+6;}
if (sql_field>=sql_from){
sql_field=0;
}
else if(sql_field==-1){
sql_field=0;
}
String fieldName=(hql.Substring(sql_select,sql_field).Trim().Length==0
)?"*":hql.Substring(sql_select,sql_field);
StringBuilder countStr = new StringBuilder("select count(1) ");
if (sql_orderby > 0)
countStr.Append(hql.Substring(sql_from, sql_orderby - sql_from));
else
countStr.Append(hql.Substring(sql_from, hql.Length - sql_from));
try {
IQuery query = session.CreateQuery(countStr.ToString());
for (int i = 0; i < valuesList.Count; i++) {
query.SetParameter(i, valuesList[i]);
}
IEnumerator e=query.List().GetEnumerator();
e.MoveNext();
count=System.Convert.ToInt32(e.Current);
return count;
} catch (Exception e) {
log.Error("查找数据总数时数据库查询错误" + e);
throw new DAOException(e.Message);
}
}
private ArrayList Query(ISession session, String hql, ArrayList valuesList,
int pageNo, int pageSize) {
try {
IQuery query = session.CreateQuery(hql);
for (int i = 0; i < valuesList.Count; i++) {
query.SetParameter(i, valuesList[i]);
}
query.SetFirstResult((pageNo - 1) * pageSize);
query.SetMaxResults(pageSize);
return new ArrayList(query.List());
} catch (Exception e) {
log.Error("查找数据时数据库查询错误" + e);
throw new DAOException(e.Message);
}
}
public ArrayList QueryAll(String hql, ArrayList valuesList) {
ISession session = null;
try {
session = NHibernateHelper.GetInstance().GetSession();
IQuery query = session.CreateQuery(hql);
for (int i = 0; i < valuesList.Count; i++) {
query.SetParameter(i, valuesList[i]);
}
return new ArrayList(query.List());
} catch (Exception e) {
log.Error("查找全部记录时数据库查询错误" + e);
throw new DAOException(e.Message);
} finally {
if (session != null)
session.Close();
}
}
}
回复
引用
#42楼
2007-04-11 17:03 |
jingxin[未注册用户]
大家有没遇到在Save 的时候 明明已经付了值的。。。 却提示错误;不能将空值插入表的
{"无法将 NULL 值插入列 'ID',表 'SweaterDB.dbo.Area';该列不允许空值。INSERT 失败。" }
回复
引用
#43楼
2007-04-12 21:22 |
郑[未注册用户]
你如果是由程序指定必须这样写,这样就应该没问题.
<id name="Id" column="id">
<!-- The Author must have the same identifier as the Person -->
<generator class="assigned"/>
</id>
重点:
<generator class="assigned"/>
回复
引用
#44楼
2007-04-15 14:31 |
JAMES[未注册用户]
@wwwxuehu
你是怎么解决的
回复
引用
#45楼
2007-04-15 14:31 |
JAMES[未注册用户]
怎么没有人解决啊!
回复
引用
#46楼
2007-05-11 11:48 |
wolf[未注册用户]
你好,我想问一下,如果我的项目中用到了多个数据库,那怎么在配置文件中配置多个连接字符串呢?
回复
引用
#47楼
2007-05-12 15:45 |
popexiong[未注册用户]
我想用NHibernate 1.0.4.0 连接 sql 2005, 应该怎样做, 可以说的详细一点吗,谢谢!
回复
引用
#48楼
2007-05-14 10:14 |
wgm[未注册用户]
有没有高性能的Nhibernate 分页方法?目前的分页方式很不适合海量数据分页。
回复
引用
#49楼
2007-05-14 12:38 |
LISA[未注册用户]
好心的大大!
本人初次接觸Hibernate,將此功能套用在ASP.NET的環境中的以VB.NET的程式測試,TRACE時出現如下的訊息,不知這要如何解決,問題出在那裡,可否請幫幫忙好嗎?
找不到項目 'urn:nhibernate-mapping-2.0:hibernate-mapping' 的結構描述資訊。
回复
引用
#50楼
2007-05-20 01:28 |
khler[未注册用户]
这儿看看去
http://blog.csdn.net/khler/archive/2007/05/19/1616604.aspx
回复
引用
#51楼
2007-05-20 13:46 |
LISA[未注册用户]
問題獲得解決.非常感謝!
回复
引用
#52楼
2007-06-04 09:38 |
ztwz[未注册用户]
D:\Inetpub\wwwroot\NHibernate\ClassLibrary1\Class1.cs(4): 类型或命名空间名称“Cfg”在类或命名空间“NHibernate”中不存在(是否缺少程序集引用?)
我添加的是using NHibernate.Cfg这个命名空间
可我以添加了NHibernate.dll的引用啦,还要添加什么东东呀。请问这个问题要怎么解决3Q
回复
引用
#53楼
2007-06-04 13:45 |
Jason[未注册用户]
如下所示的代码,如果不是运行在WebService中,没有问题,但是通过WebService调用,则提示:“必须在 Iesi.Collections.ISet 上实现默认访问器,因为它继承自 ICollection” ,希望有经验的朋友指点一下!!
[WebMethod]
[XmlInclude(typeof(Customer))]
public IList GetCustomers()
{
using (ISession session = GetFactory().OpenSession())
{
ITransaction tr = session.BeginTransaction();
IList customers = session.CreateCriteria(typeof(Customer))
.List();
return customers;
}
}
回复
引用
#54楼
2007-06-14 10:13 |
Kelin[未注册用户]
在您的代码生成器和其他几种NHibernate的代码生成器生成的代码中,都有"MarkAsDeleted", "IsDelete", "IsChanged"这样的方法和属性, 这些方法和属性是用来干吗的? 我粗略看了NHibernate的源码, 似乎里面也没有动态调用这些方法和属性的地方, 烦请指教:(
回复
引用
#55楼
2007-08-16 15:52 |
rik[未注册用户]
初级入门问题.我用Mygeneration模板生成的代码
所有的类型都是nukown这是怎么回事?
db.AddInParameter(dbCommand, "commentID", Unknown, commentID);
db.AddInParameter(dbCommand, "Board", Unknown, Board);
db.AddInParameter(dbCommand, "commentTitle", Unknown, commentTitle);
db.AddInParameter(dbCommand, "userName", Unknown, userName);
db.AddInParameter(dbCommand, "IP", Unknown, IP);
db.AddInParameter(dbCommand, "commentDateTime", Unknown, commentDateTime);
db.AddInParameter(dbCommand, "content", Unknown, content);
db.AddInParameter(dbCommand, "commentParentID", Unknown, commentParentID);
db.AddInParameter(dbCommand, "top", Unknown, top);
db.AddInParameter(dbCommand, "agree", Unknown, agree);
db.AddInParameter(dbCommand, "disagree", Unknown, disagree);
db.AddInParameter(dbCommand, "display", Unknown, display);
db.AddInParameter(dbCommand, "reply", Unknown, reply);
回复
引用
#56楼
2007-08-16 16:24 |
rik[未注册用户]
我的邮箱tenvick@163.com
回复
引用
#57楼
2007-08-23 15:25 |
sa[未注册用户]
我用了这样的代码在page_load中,目的是每次都加入一条新的数据,可是nh却一直更新这条数据而不产生新的,不知为何:
protected void Page_load(......)
{
user u = new user();
u.name = Guid.NewGuid.Tostring();
u.pass="123";
session.Save(u)
}
回复
引用
#58楼
2007-08-25 19:40 |
sdf[未注册用户]
在配置时,遇到一个异常
NHibernate.MappingException: Unknown entity class: NHibernateProject.Domain.Account
好奇怪,怎么会出现这种情况呢,我以前用过Hibernate,所以应该不会出现什么问题的,不知道大家有不有遇到这个问题呢?是不是我还有什么细节问题没有处理好呢,急啊,希望大家帮我一下
回复
引用
#59楼
2007-09-03 11:56 |
tancky[未注册用户]
模版中的中文注释或者说明在生成的文件中用VS打开将会是乱码,后来通过查看文件格式为UTF-8编码,而通过VS生成的文件都是ANSI编码方式,不知道如何在MG上生成的文件改为ANSI编码的方式?
回复
引用
#60楼
2007-09-05 22:54 |
yutou[未注册用户]
请问如何利用nhibernate实现批量更新?
例如提交DataTable中的若干条记录
回复
引用
#61楼
2007-09-06 22:23 |
阿辉[未注册用户]
使用NHBERNATE后如何,能够很容易就获得实体对象,并通过它进行数据库的操作.但是,.NET的表现层控件如gridVIER,datalist的数据源如何指向一个对象集合???请高手指点.
回复
引用
#62楼
2007-10-09 14:30 |
cc#[未注册用户]
现在的 NHibernate 最新的是什么版本???
我怎么在这找不到啊
这块有很久没更新了吧???
回复
引用
#63楼
2007-10-11 10:32 |
Xsword_cn[未注册用户]
在.net下的O/R M中只有nhibernate吗?还有没有其他选择?有什么优缺点?谢谢
回复
引用
#64楼
2007-11-01 23:25 |
RandyInfo[未注册用户]
有没有nhibernate最新版本1.20,要有发一份给好吗?谢谢
回复
引用
#65楼
2007-11-28 13:19 |
Aplia[未注册用户]
请忙看一下这个问题:不知道为什么,保存时,@p5外键值为什么总为空.
有两个表,是主从表,Department为主表,主键为DepartmentID,从表为Employee,主键和外键分别为EmployeeID,DepartmentID
测试代码:
transaction = session.BeginTransaction();
CEmployee employee = new CEmployee();
employee.FirstName = "Aplia";
employee.FullName = "Aplia.China";
employee.Salary = 8888;
employee.Mobile = "1388888888";
CDepartment dep = new CDepartment();
dep.DepartmentName = "Microsoft Office";
dep.Employees.Add(employee);
session.Save(dep);
映谢表:
Department:
<?xml version="1.0" encoding="utf-8"?>
<hibernate-mapping xmlns:xsi="
http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="
http://www.w3.org/2001/XMLSchema"
namespace="BussinessCore"
assembly="BussinessCore" xmlns="urn:nhibernate-mapping-2.2">
<class
name="CDepartment"
table="DEPARTMENT">
<id
name="ID"
column="DEPARTMENTID"
type="Guid"
length="16"
unsaved-value="00000000-0000-0000-0000-000000000000">
<generator
class="guid.comb" />
</id>
<property
name="DepartmentName"
type="string"
column="DepName"
length="32"
not-null="true" />
<bag name="Employees" cascade="all" inverse="true">
<key column="DEPARTMENTID"/>
<one-to-many class="CEmployee" />
</bag>
</class>
</hibernate-mapping>
Employee:
<?xml version="1.0" encoding="utf-8"?>
<hibernate-mapping xmlns:xsi="
http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="
http://www.w3.org/2001/XMLSchema"
namespace="BussinessCore"
assembly="BussinessCore" xmlns="urn:nhibernate-mapping-2.2">
<class
name="CEmployee"
table="EMPLOYEE">
<id
name="ID"
column="EMPLOYEEID"
type="Guid"
length="16"
unsaved-value="00000000-0000-0000-0000-000000000000">
<generator
class="guid.comb" />
</id>
<property
name="DepID"
type="Guid"
column="DEPARTMENTID"
length="16" />
<property
name="FirstName"
type="string"
column="FIRSTNAME"
length="32" />
<property
name="FullName"
type="string"
column="FULLNAME"
length="32" />
<property
name="Salary"
type="int"
column="SALARY" />
<property
name="Mobile"
type="string"
column="MOBILE"
length="32" />
<many-to-one
name="Department"
column="DEPARTMENTID"
foreign-key="DEPARTMENTID" />
</class>
</hibernate-mapping>
回复
引用
#66楼
2007-11-28 13:19 |
Aplia[未注册用户]
执行结果如下:
NHibernate: INSERT INTO DEPARTMENT (DepName, DEPARTMENTID) VALUES (@p0, @p1); @p
0 = 'Microsoft Office', @p1 = '8f5b00e0-911e-4053-b3c2-99f400d863be'
NHibernate: INSERT INTO EMPLOYEE (DEPARTMENTID, FIRSTNAME, FULLNAME, SALARY, MOB
ILE, DEPARTMENTID, EMPLOYEEID) VALUES (@p0, @p1, @p2, @p3, @p4, @p5, @p6); @p0 =
'8accf4af-c9e4-4e09-afa4-99f400d863c8', @p1 = 'Aplia', @p2 = 'Aplia.China', @p3
= '8000', @p4 = '1388888888', @p5 = '', @p6 = '8accf4af-c9e4-4e09-afa4-99f400d8
63c8'
未处理的异常: NHibernate.ADOException: could not insert: [BussinessCore.CEmploy
ee#8accf4af-c9e4-4e09-afa4-99f400d863c8][SQL: INSERT INTO EMPLOYEE (DEPARTMENTID
, FIRSTNAME, FULLNAME, SALARY, MOBILE, DEPARTMENTID, EMPLOYEEID) VALUES (?, ?, ?
, ?, ?, ?, ?)] ---> FirebirdSql.Data.FirebirdClient.FbException: Dynamic SQL Err
or
SQL error code = -206
No message for error code 336397210 found.
No message for error code 336397208 found. ---> FirebirdSql.Data.Common.IscExcep
tion: 引发类型为“FirebirdSql.Data.Common.IscException”的异常。
在 FirebirdSql.Data.Client.Gds.GdsConnection.ReadStatusVector()
在 FirebirdSql.Data.Client.Gds.GdsConnection.ReadResponse()
在 FirebirdSql.Data.Client.Gds.GdsDatabase.ReadResponse()
在 FirebirdSql.Data.Client.Gds.GdsStatement.Prepare(String commandText)
在 FirebirdSql.Data.FirebirdClient.FbCommand.Prepare(Boolean returnsSet)
在 FirebirdSql.Data.FirebirdClient.FbCommand.ExecuteCommand(CommandBehavior b
ehavior, Boolean returnsSet)
在 FirebirdSql.Data.FirebirdClient.FbCommand.ExecuteNonQuery()
--- 内部异常堆栈跟踪的结尾 ---
在 FirebirdSql.Data.FirebirdClient.FbCommand.ExecuteNonQuery()
在 NHibernate.Impl.NonBatchingBatcher.AddToBatch(IExpectation expectation)
在 NHibernate.Persister.Entity.AbstractEntityPersister.Insert(Object id, Obje
ct[] fields, Boolean[] notNull, Int32 j, SqlCommandInfo sql, Object obj, ISessio
nImplementor session)
--- 内部异常堆栈跟踪的结尾 ---
在 NHibernate.Persister.Entity.AbstractEntityPersister.Insert(Object id, Obje
ct[] fields, Boolean[] notNull, Int32 j, SqlCommandInfo sql, Object obj, ISessio
nImplementor session)
在 NHibernate.Persister.Entity.AbstractEntityPersister.Insert(Object id, Obje
ct[] fields, Object obj, ISessionImplementor session)
在 NHibernate.Impl.ScheduledInsertion.Execute()
在 NHibernate.Impl.SessionImpl.Execute(IExecutable executable)
在 NHibernate.Impl.SessionImpl.ExecuteAll(IList list)
在 NHibernate.Impl.SessionImpl.Execute()
在 NHibernate.Impl.SessionImpl.Flush()
在 NHibernate.Transaction.AdoTransaction.Commit()
在 testBussiness.CManager.testDepartment() 位置 F:\MyDocuments\Nhibernate\Hum
an Resource Management\part2\testBussiness\CManager.cs:行号 73
在 testBussiness.Program.Main(String[] args) 位置 F:\MyDocuments\Nhibernate\H
uman Resource Management\part2\testBussiness\Program.cs:行号 17
回复
引用
#67楼
2007-11-28 16:12 |
Aplia[未注册用户]
偶的问题解决了,不好意思
回复
引用
#68楼
2007-12-05 16:01 |
老张啊[未注册用户]
NHibernate.Cfg.Configuration cfg = new NHibernate.Cfg.Configuration().Configure();
为什么我在运行的时候老是报这句出错,信息如下
<session-factory xmlns='urn:nhibernate-configuration-2.2'> element was not found in the configuration file.
我是把配置信息单独写成了一个文件,hibernate.cfg.xml
回复
引用
#69楼
2008-01-20 23:00 |
david_qie
前几天我也碰到过,把hibernate.cfg.xml 设为嵌入的资源,编译后就可以了
回复
引用
查看
#70楼
2008-01-30 14:02 |
xiebbs[未注册用户]
我的数据库是英文版的,查询带有中文的数据有问题
比如:Select * from User where userName = '张飞'
这样搜索不到结果.
我上网找了相关的解决方案是在关键字前加 N,
即 Select * from User where userName = N'张飞'
这样就可以找到结果了.
但我使用nHibernate后,语句为
Select user FROM User WHere user.userName = N'张飞'
最后被解析成
变成 N '张飞'
N后面有一个空格,造成语法错误,请问这是什么问题?如何解决?
回复
引用
#71楼
2008-01-30 22:26 |
waitsea[未注册用户]
1,我原来的主键采用int自增长方式,中间表主键也采用自增int,运行没有问题。
2,但是因为主键为自增型,对于多数据库的同步有问题,所以改为采用36位的无重复数。
所有主键都改为36位的无重复数后, 测试报错。
大概意思是 nhibernate生成插入中间表SQL时,并没有生成ID,(从映射的意思来看,nhibernate也
的确不知道 中间表主键的生成方式,所以也不会生成中间表ID;自增类型,不需要生成中间表ID,所
以没有这个问题)
3,我把中间表的ID去掉后,数据就能保存成功了。但是又会在数据表中产生重复的记录。若把中间表
两外键组合为主键时,插入相同数据时,会报关联约束错误的。
以上情况,导致多对多映射,采用32位无重复数ID时,会遇到上述问。
请问 前辈们遇到此类情况是怎样处理的?小弟先谢过了!
回复
引用
#72楼
2008-03-12 09:10 |
Nhibernate 学习中!![未注册用户]
我用MyGeneration 生成的实体类的属性类型是Unknown
这是为什么啊
急啊!!
回复
引用
#73楼
2008-03-13 20:56 |
云朵朵[未注册用户]
請問,ADO.NET和NHB數據庫操作如何保持在一個事務里?
回复
引用
#74楼
2008-03-25 16:46 |
jazz[未注册用户]
楼主,就是我下载了你的“快速起步”里的示例,可是我不会用,我是初学者,顺便问一下,怎么用你现有的示例进行单元测试。?
回复
引用
#75楼
2008-03-25 17:32 |
jazz[未注册用户]
呵呵,楼主,我刚才又学习了一下怎么进行单元测试,这个已经掌握了,可是对你的示例进行单元测试就是不可以,当我Open那个exe时就会出错。
回复
引用
#76楼
2008-03-26 14:22 |
jazz[未注册用户]
[SQL: INSERT INTO my_users (Name, Password, EmailAddress, LastLogon, LogonId) VALUES (?, ?, ?, ?, ?)]
楼主,这个问题怎么解决,我在网上查的说是映射文件表名的问题,可是我查了我的映射文件“<class name="NHibernate.Demo.QuickStart.User, NHibernate.Demo.QuickStart" table="my_users">”表名是my_users
跟我数据库里的表名是一样的呀,为什么还会出这样的问题?请楼主帮忙分析一下?谢谢!
回复
引用
#77楼
2008-05-30 09:22 |
jing99[未注册用户]
未能加载文件或程序集“NHibernateExp.App_Code.Model”或它的某一个依赖项。系统找不到指定的文件。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.IO.FileNotFoundException: 未能加载文件或程序集“NHibernateExp.App_Code.Model”或它的某一个依赖项。系统找不到指定的文件。
源错误:
行 38: cfg = new Configuration();
行 39:
行 40: cfg.AddAssembly(AssemblyName);
行 41:
行 42: sessions = cfg.BuildSessionFactory();
大家帮我看看这是什么原因呀?
回复
引用
#78楼
2008-06-25 11:28 |
陈建勤[未注册用户]
我用NHibernate框架开发了两个系统,这个两个系统层次架构完全一样,但现在需要他们之间互相调用业务逻辑层,请问怎么操作比较好?NHibernate配置如何配置?
(可以把解决办法发到我邮箱 chenjianqin_stone@126.com 里吗?)
回复
引用
#79楼
2008-07-04 14:57 |
大李
lz,我有几个问题想咨询一下。
1.NH 能执行复杂一点的sql语句吗?不用他直接执行sql的方式。
比如,update 根据另张表结果。
2.NH 怎么执行批量操作呢,比如同时操作主从表呢。
初学NH,见谅。
回复
引用
查看
#80楼
2008-12-12 11:51 |
kln[未注册用户]
你好,刚用nhibernate,我建立一个类库,把下载的nhibernate里的DLL全部引用,配置文件,持久化类(user.cs)等都建立好了。
然后我新建立网站,把类库引用进来
但是在page_load里实例化时不能识别user
回复
引用
#81楼
2008-12-19 08:24 |
herohh[未注册用户]
最近要用nhibernate,所以自己也做了一下,但是在程序运行(C#,winform)的时候,
Configuration cfg = new Hibernate.Cfg.Configuration();
cfg.AddXmlFile("Customer.hbm.xml");
的时候出错了。
提示错误为:Could not find the dialect in the configuration
或者:Could not configure datastore from file Customer.hbm.xml
这是为什么。
我用的nhibernate是2.0.1版本,映射文件里面写的2.0或2.2都不行。
回复
引用
#82楼
2009-02-13 10:59 |
王晓成
nhibernate2.0操作oralce提交事务时报错
代码如下:
Configuration config = new Configuration();
config.AddAssembly("TestCleanSnow");
ISessionFactory factory = config.BuildSessionFactory();
ISession session = factory.OpenSession();
TestNhibernate tn = new TestNhibernate();
tn.Id = Decimal.Parse("2");
tn.Name = "terry wang";
ITransaction trans = session.BeginTransaction();
try
{
session.Save(tn);
trans.Commit();
Console.WriteLine("Insert Success!");
}
catch (Exception ex)
{
trans.Rollback();
Console.WriteLine(ex.Message);
}
执行到trans.Commit()时出错,
出错信息如下:
NHibernate.HibernateException :"could not insert: [TestCleanSnow.TestNhibernate][SQL: INSERT INTO TEST_NHIBERNATE ([NAME], ID) VALUES (?, ?)]"}
innerText:ORA-00928: 缺少 SELECT 关键字
我在控制台调试看到输出NHibernate的语句是: INSERT INTO TEST_NHIBERNATE ([NAME], ID) VALUES (:p0, :p1); :p0 = 'terryerry wang', :p1 = '2'
请问是哪里出错?
回复
引用
查看
#83楼
2009-05-13 10:06 |
piaowufeiyang_1[未注册用户]
楼主您好:我用的是one-to-many(双向),配置如下:
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
<class name="Springs.model.users,Springs" table="users" lazy="false">
<id name="Userno" column="userno" type="Int32">
<generator class="assigned" />
</id>
<property name="Usersex" column="usersex" type="int" length="10" />
<many-to-one name="Myuser" column="username" class="Springs.model.MyUser,Springs" />
</class>
</hibernate-mapping>
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
<class name="Springs.model.MyUser,Springs" table="myuser" lazy="false">
<id name="Userid" column="userid" type="Int32">
<generator class="assigned" />
<!--<generator class="native" />-->
</id>
<property name="Username" column="username" type="String" length="20" />
<property name="Userpassword" column="userpassword" type="String" length="20" />
<property name="Useremail" column="useremail" type="String" length="20" />
<bag name="UserTT" cascade="all" inverse="false" lazy="false">
<key>
<column name="Username"/>
</key>
<one-to-many class="Springs.model.users,Springs"/>
</bag>
</class>
</hibernate-mapping>
操作为save(myuser);
此时应该父表和子表都应该又一行新的信息被加入,但在父表一切正常,子表却没有加进去,捕获异常为Unexpected row count: 0; expected: 1的异常,希望可以帮忙解决下,谢谢!期待您的回复!!````
回复
引用
刷新评论列表
刷新页面
返回页首
发表评论
昵称:
[登录]
[注册]
主页:
邮箱:
(仅博主可见)
验证码:
看不清,换一个
评论内容:
登录
注册
[使用Ctrl+Enter键快速提交评论]
0
466636
rQ3aO7rz7vs=
链接:
切换模板
导航:
网站首页
社区
新闻
博问
闪存
网摘
招聘
找找看
Google搜索
China-pub 计算机图书网上专卖店!6.5万品种 2-8折!
China-Pub 计算机绝版图书按需印刷服务
相关文章:
最新IT新闻:
IBM发布全球首款开源智能编译器
IE颓势不减 微软下月公布最新浏览器架构
竞争日趋激烈 微软欲借 Windows 7 扭转战局
上海电信计划2012年80%用户实现100M带宽
数万名网友签名抗议星际争霸2取消局域网功能
相关链接:
只有偏执狂才能生存。
教堂尖项上的风标,即使由钢铁制成,如果不懂得顺应风势的艺术,一样会被暴风立即摧毁。
原创
技术文章,
转载
请注明来源。
<
2006年8月
>
日
一
二
三
四
五
六
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
8
9
与我联系
发短消息
搜索
常用链接
我的随笔
我的空间
我的短信
我的评论
更多链接
我的参与
我的新闻
最新评论
我的标签
留言簿
给我留言
查看留言
我参加的小组
编程爱好者
我参与的团队
Design & Pattern团队(0/0)
上海.NET俱乐部(0/0)
广州.NET俱乐部(0/0)
南昌.net俱乐部(0/0)
O/R Mapping团队(0/0)
随笔分类
(83)
.NET(11)
Asp.net(5)
NHibernate(29)
Office编程(1)
XML
编程其他(1)
代码生成(4)
读书笔记(6)
规范文档(1)
设计(架构)模式(2)
思考和感悟(3)
随便写写(16)
团队管理(2)
正则表达式(2)
project
patterns & practices Application Architecture Guide
友情博客
eric_gqs
SHY520
Terrylee
林子
积分与排名
积分 - 234053
排名 - 186
最新随笔
1. 用我的MyGeneration模板生成NHibernate映射文件和关系(one-to-one,one-to-many,many-to-many)
2. 强大的代码生成工具MyGeneration
3. 请帮'Atlas'起个名字
4. NHibernate的关联映射(one-to-one,one-to-many,many-to-many)以及cascade分析
5. 特里当选英格兰队新任队长
6. 发疯的live.com
7. NHibernate的Q&A(持续更新)
8. NHibernate的调试技巧和Log4Net配置
9. 建立OR Mapping团队的倡议
10. 诚邀博客链接
11. 推荐两款在线日程(任务)管理的站点
12. NHibernate的数据库连接机制分析和如何使用外部连接
13. NHibernate的Session管理
14. 有关NHibernate的问题请在此提出
15. [调查]如果你是个讲求编码规范的程序员,而碰到给变量、方法随意命名,注释又混乱的同事时你会怎么处理???
最新评论
1. re: NHibernate翻译文档提供下载(chm和html格式)
我也想要,能不能发到邮箱cgd_60802@sina.com
--cgd_60802
2. re: NHibernate的Q&A(持续更新)
@rooping 多个连接,多个配置文件就可以(*.hbm.xml),到时候判断一下读哪个就可以
--jcc
3. re: NHibernate快速起步
单元测试时出现如下错误 TestNHibernate.UserFixture.TestLoadUser: NHibernate.MappingException : No persister for:...
--eastcowboy
4. re: 有关NHibernate的问题请在此提出
楼主您好:我用的是one-to-many(双向),配置如下: <?xml version="1.0" encoding="utf-8" ?> <...
--piaowufeiyang_1
5. re: NHibernate的关联映射(one-to-one,one-to-many,many-to-many)以及cascade分析
在使用tAddParentWithAddChild方法时,可以在
主表加进去,但是可以更新子表中有的字段,这个不太清楚了
希望能进行交流下~~~!
--piaowufeiyang_1
6. re: NHibernate的关联映射(one-to-one,one-to-many,many-to-many)以及cascade分析
在one-to-many(双向)这里有一些疑问: 在使用tAddParentWithAddChild方法时,出现 Unexpected row count: 0; expected: 1的异常, 主表...
--piaowufeiyang_1
7. re: NHibernate快速起步
thanks!
--魔方网
8. re: NHibernate翻译文档提供下载(chm和html格式)
沙漠中看到绿洲!
--zhouyi292929
9. re: 用我的MyGeneration模板生成NHibernate映射文件和关系(one-to-one,one-to-many,many-to-many)
谁发一个DotNetScriptingEngine.dll到我邮箱matian516@sina.com,谢谢!
--matian516
10. re: NHibernate翻译文档提供下载(chm和html格式)
非常感谢,对初学者很实用
--stefanieforever
阅读排行榜
1. NHibernate翻译文档提供下载(chm和html格式)(24823)
2. 强大的代码生成工具MyGeneration(13732)
3. NHibernate快速起步(9948)
4. NHibernate的关联映射(one-to-one,one-to-many,many-to-many)以及cascade分析(9647)
5. 用我的MyGeneration模板生成NHibernate映射文件和关系(one-to-one,one-to-many,many-to-many)(9308)
6. 自动代码生成器(6503)
7. NHibernate的调试技巧和Log4Net配置(5795)
8. NHibernate文档翻译完成(5790)
9. TreeView常用操作(5727)
10. 有关NHibernate的问题请在此提出(5688)
评论排行榜
1. NHibernate翻译文档提供下载(chm和html格式)(125)
2. 有关NHibernate的问题请在此提出(83)
3. 有追求的程序员是痛苦的吗?(76)
4. 用我的MyGeneration模板生成NHibernate映射文件和关系(one-to-one,one-to-many,many-to-many)(51)
5. NHibernate快速起步(38)
6. 自动代码生成器(31)
7. NHibernate的Q&A(持续更新)(27)
8. NHibernate文档翻译完成(25)
9. 强大的代码生成工具MyGeneration(24)
10. NHibernate的灵活配置(23)