在我的项目中,我有一些版本化的对象(例如用户数据)。我将版本保留在导航属性中的集合中。我能以某种方式自动地将当前版本自动加载到导航属性中吗(使用“包括”就可以了,只是不能用于整个集合)?如果可能的话,我不想保持外键与当前数据“手动”同步。
或者,我可以从UserData加载数据,但我也想避免这种情况。
public class User: IVersionedEntity<UserData>
{
public int Id {get;set;}
public ICollection<UserData> Versions { get; }
//this only works if i load all the Versions from the database,
//which i would like to avoid
public UserData CurrentData {get {this.Versions.OrderBy(h => h.ValidFrom).Last()}}
//I can manually synchronise a foreign key every time the versions get updated
//but i would like to avoid that
public int CurrentDataId{get;set;}
}