Pet*_*ron 1 sql-server fluent-nhibernate asp.net-mvc-3
我正处于使用Fluent NHibernate构建数据库的早期阶段.我在ASP.NET MVC 3中实现了一个工作单元模式,让NHibernate为我更新我的数据库模式.为了插入/更新我的初始数据,我有一个Database控制器,其中一个Update操作尝试将SaveOrUpdate(...)一个User实体(管理员用户)放入Users表中.
通过Visual Studio手动删除所有用户记录并重新运行我的Update操作以重新填充Users表后,我收到以下NHibernate.StaleObjectStateException异常:
Row was updated or deleted by another transaction (or unsaved-value mapping was
incorrect): [Invoicer.Data.Entities.User#3105248d-ca91-4c64-bf8f-9ebb017943b7]
Line 26: {
Line 27: if (_transaction.IsActive)
Line 28: _transaction.Commit();
Line 29: }
Run Code Online (Sandbox Code Playgroud)
注意:保存或更新的用户ID是Guid,其值大于(3105 ...).
我究竟做错了什么?
Pet*_*ron 12
NHibernate使用Guid梳子方法为我分配用户ID(Guid).手动指定ID会使映射绊倒.我更喜欢自己分配这些ID,因此我将User实体ID映射更改为在我的UserMap类中手动分配:
Id(x => x.Id).GeneratedBy.Assigned();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9717 次 |
| 最近记录: |