如何基于 Entity Framework Core 数据库中的另一个表创建计算列-first

问题描述

我想知道,如何使用数据库优先的方法基于实体框架中的另一个表创建计算列。

例如,我在 MysqL 中有一个名为 Publication 的表和这个模型类:

public class Publication
{
    public int Id { get; }

    public List<Mark> Marks { get; set; } = new List<Mark>();

    [DatabaseGenerated(DatabaseGeneratedOption.Computed)]
    public double? rating { get; set; }
}

我还有一个名为 Marks 的表和这个模型类:

public class Mark
{
    public int Id { get; set; }

    [Range(0,5)]
    public int Numberofmark { get; set; }

    public int? idpublication { get; set; }

    public Publication Publication { get; set; }
}

我想根据另一列 rating 的平均值在 Publication 中创建一个Numberofmark 作为计算列。

我尝试使用 Fluent Api 来做到这一点:

modelBuilder.Entity<Publication>()
            .Property(d => d.rating)
            .HasComputedColumnsql("sql");

但我不知道如何编写查询

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)