问题描述
我想知道,如何使用数据库优先的方法基于实体框架中的另一个表创建计算列。
例如,我在 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 (将#修改为@)