EF Core-计算导航

时间:2019-01-21 14:25:43

标签: entity-framework-core

在我的项目中,我有一些版本化的对象(例如用户数据)。我将版本保留在导航属性中的集合中。我能以某种方式自动地将当前版本自动加载到导航属性中吗(使用“包括”就可以了,只是不能用于整个集合)?如果可能的话,我不想保持外键与当前数据“手动”同步。

或者,我可以从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;} 
}

0 个答案:

没有答案