日期:2014-05-20  浏览次数:20794 次

nhibernate中我在.hbm.xml中指定<generator>子元素自动生成主健,始终不成功,大家帮帮忙!
.hbm.xml中是这样写的:
<?xml   version= "1.0 "   encoding= "utf-8 "   ?>
<hibernate-mapping   xmlns= "urn:nhibernate-mapping-2.0 ">
<class   name= "MyApp.Model.PublicKey,   MyApp.Model "   table= "PublicKey ">
<id   name= "Id "   column= "KeyID "   type= "Int32 ">
<generator   class= "identity "   />
所以我用add()方法添加数据的时候,就没有指定ID列的值,结果会出现错误:
无法将   NULL   值插入列   'KeyID ',表   'nhibernate.dbo.PublicKey ';该列不允许空值。INSERT   失败。语句已终止。
这是为什么啊?不是应该在底层sql访问的时候自动生成主健的吗??

------解决方案--------------------
class= "identity "
改成class= "assigned "