【发布时间】:2014-07-03 09:05:16
【问题描述】:
我正在使用 SQLite 内存数据库进行测试。其中一个实体有一个列映射 在插入操作时生成 GUID。
this.Map(v => v.Code).Generated.Insert().ReadOnly();
首先,不会生成 GUID,插入的每条记录都有一个空的 GUID。 其次,我无法通过空 GUID 检索实体。
this.Session.Query<Entity>().FirstOrDefault(e => e.Code == code);
当我在保存实体之前在客户端手动生成 GUID 时,一切都很好。
有人有类似的问题吗?
谢谢
【问题讨论】:
-
不是真正的 NH 专家,但在我正在进行的项目中,自动 GUID 映射如下:
Map(x => x.Id).GeneratedBy.Assigned().Not.Nullable() -
这不是我用于 GUID 代码的 Id 列。基本上,我的代码运行良好,与真正的 MSSQL 数据库没有任何问题。此问题仅与我用于测试的 SQLite 内存数据库有关。
标签: c# sqlite unit-testing nhibernate fluent-nhibernate