.net Fluent NHibernate:版本列不应用于并发
有没有办法告诉fluent NHibernate不要使用名为[version]的列进行并发检查?如果它找到一个名为[version]的列,它似乎会自动执行此操作——在这种情况下,我不知道它要做什么 只需设置一个并将其添加到您的约定中。好的,我发现可以从DefaultAutompConfiguration继承并覆盖IsVersion以始终返回false。这实际上是在关闭版本控制。我认为这不起作用。这将允许版本属性映射到其他名称的DB列。我看不出如何使用它来阻止名为Version的属性/列不用于并发检查。@James:好的。我应该告诉你细节的。编写一个类来实现.net Fluent NHibernate:版本列不应用于并发,.net,nhibernate,configuration,fluent-nhibernate,.net,Nhibernate,Configuration,Fluent Nhibernate,有没有办法告诉fluent NHibernate不要使用名为[version]的列进行并发检查?如果它找到一个名为[version]的列,它似乎会自动执行此操作——在这种情况下,我不知道它要做什么 只需设置一个并将其添加到您的约定中。好的,我发现可以从DefaultAutompConfiguration继承并覆盖IsVersion以始终返回false。这实际上是在关闭版本控制。我认为这不起作用。这将允许版本属性映射到其他名称的DB列。我看不出如何使用它来阻止名为Version的属性/列不用于并发
IVersionConvention
和IVersionAcceptance
(实现约定的标准方式)。实现IVersionConventionAcceptance.Accept
aspublic void Accept(IAcceptanceCriteria criteria criteria){criteria.Expect(x=>false);}
这将完全关闭版本控制。您可以为IVersionConvention.Apply
提供简单的实现。这应该是IVersionConventionAcceptance
,而不是IVersionAcceptance
。谢谢Jason-我感谢您的后续行动。我也找到了另一种方法(见下文),但更喜欢这种方法。那么,这是否意味着DefaultAutoMappingConfiguration中“IsVersion”方法的返回值最终被委托给IVersionConventionAcceptance约定的Accept方法?我只是想弄清楚他们是怎么一起玩的。