SQLite方言のNHibernateソースを確認し、同様の質問に対する回答を見つけます。SQLite Auto Increment列INTEGER
に必要なように、すべての符号付き整数型がマップされていないようです。
RegisterColumnType(DbType.Int16, "SMALLINT");
RegisterColumnType(DbType.Int32, "INT");
RegisterColumnType(DbType.Int64, "BIGINT");
しかし、良いニュースは、unsigned int が にマップされることINTEGER
です。
RegisterColumnType(DbType.UInt16, "INTEGER");
RegisterColumnType(DbType.UInt32, "INTEGER");
RegisterColumnType(DbType.UInt64, "INTEGER");
したがって、次のマッピングを試してください。
<id name="Id" type="UInt32">
<generator class="identity" />
</id>
あなたのクラスに対応する変更を加えて:
public virtual UInt32 Id { get; set; }