C# 使用NHibernate保留实体的早期版本
我试图使我的应用程序保留实体的早期版本 例如,如果我有一本C# 使用NHibernate保留实体的早期版本,c#,nhibernate,fluent-nhibernate,C#,Nhibernate,Fluent Nhibernate,我试图使我的应用程序保留实体的早期版本 例如,如果我有一本书,我希望能够在版本1或版本5中检索到它,等等 public class Book { public virtual int ID {get; set;} public virtual string Name {get; set;} public virtual int Version {get; set;} } 我将版本列映射为: Version(x=>x.Version); 这是有效的。插入时,版本为
书
,我希望能够在版本1或版本5中检索到它,等等
public class Book
{
public virtual int ID {get; set;}
public virtual string Name {get; set;}
public virtual int Version {get; set;}
}
我将版本列映射为:
Version(x=>x.Version);
这是有效的。插入时,版本为1。如果我按id缩回该实体,编辑并保存它,则版本将增加到2 我的问题是,如何保留以前的版本
我怀疑ID | Version…?上的某种组合
Version
构造用于实现,而不是存储实体的以前版本
要实现完整版本控制,您必须使用单独的insert only
BookRevision
表,或者使用现在流行的CQRS/ES。版本结构用于实现,而不是存储实体的以前版本
要实现完整版本控制,您必须使用单独的insert only
BookRevision
表,或者使用现在流行的CQRS/ES。正如Anton Gogolev指出的那样,版本属性/列不是用于审核,而是用于并发控制
是NHibernate的第三方审核库,可能适合您的需要。正如Anton Gogolev指出的那样-版本属性/列不是用于审核,而是用于并发控制
是NHibernate的第三方审核库,可能适合您的需要。我想可能就是这样。有没有办法在图书模型中有一个版本col,并在ID | Version上有一个复合键,而不是有一个单独的表(BookRevision)呢?我想可能是这样的。有没有办法在图书模型中有一个版本col,并在ID | Version上有一个复合键,而不是有一个单独的表(BookRevision)?