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 "