C# 找到Nhibernate:整数,应为INT

C# 找到Nhibernate:整数,应为INT,c#,nhibernate,orm,mapping,C#,Nhibernate,Orm,Mapping,我得到一个例外: NHibernate.HibernateException: Wrong column type in main_Command for column Id. Found: integer, Expected INT 映射为: <id name="Id" type="int"> <generator class="identity" /> </id> 我认为你们的类型是错误的(但我可能是错的),根据文章是从NHibernate在曼宁出

我得到一个例外:

NHibernate.HibernateException: Wrong column type in main_Command for column Id.
Found: integer, Expected INT
映射为:

<id name="Id" type="int">
  <generator class="identity" />
</id>

我认为你们的类型是错误的(但我可能是错的),根据文章是从NHibernate在曼宁出版物的行动

.NET基本体映射类型

Mapping Type  .NET Type      System.Data.DbType 
   Int16     System.Int16    DbType.Int16
   Int32     System.Int32    DbType.Int32
   Int64     System.Int64    DbType.Int64

尝试使用
type='Int32'
或完全删除它

我认为您的类型是错误的(但我可能是错误的),这篇文章摘自NHibernate的《曼宁出版物的行动》

.NET基本体映射类型

Mapping Type  .NET Type      System.Data.DbType 
   Int16     System.Int16    DbType.Int16
   Int32     System.Int32    DbType.Int32
   Int64     System.Int64    DbType.Int64

尝试使用
type='Int32'
或将其全部删除

检查NHibernate源代码中的,并找到问题的答案。似乎所有带符号整数类型都没有映射到列所需的
integer

但好消息是,无符号整数确实映射到
INTEGER

RegisterColumnType(DbType.UInt16, "INTEGER");
RegisterColumnType(DbType.UInt32, "INTEGER");
RegisterColumnType(DbType.UInt64, "INTEGER");
因此,请尝试以下映射:

<id name="Id" type="UInt32">
  <generator class="identity" />
</id>

检查NHibernate源中的,并找到问题的答案。似乎所有带符号整数类型都没有映射到列所需的
integer

但好消息是,无符号整数确实映射到
INTEGER

RegisterColumnType(DbType.UInt16, "INTEGER");
RegisterColumnType(DbType.UInt32, "INTEGER");
RegisterColumnType(DbType.UInt64, "INTEGER");
因此,请尝试以下映射:

<id name="Id" type="UInt32">
  <generator class="identity" />
</id>

您是否尝试从映射中删除`type=“int”'?还有,您使用的是什么DBMS?我添加了type=“int”试图修复一个程序,但仍然有一个异常。您何时会遇到此异常?是在获取、插入还是在nHibernate编译映射文件时发生的?是在获取时发生的?是否尝试从映射中删除`type=“int”?还有,您使用的是什么DBMS?我添加了type=“int”试图修复一个程序,但仍然有一个异常。您何时会遇到此异常?是在获取、插入还是在nHibernate编译映射文件时发生的?它发生在获取时,实际上不是一个答案,而是本机和标识,最后,我使用了增量,它对我有效。啊,我看到了你对SQLLITE的评论。我不认为自动递增是这样的事情。我百分之百肯定本地人应该工作。看不到实际的答案,但不是本机和标识,最后,我使用了增量,它对我有效。啊,我看到了你对SQLLITE的评论。我不认为自动递增是这样的事情。我百分之百肯定本地人应该工作。看见