使用需要访问数据库的方法来装饰EF Code First模型

时间:2014-01-20 12:15:28

标签: c# entity-framework code-first

我有一个EF模型类Comment,其导航属性ScoreVotes引用ScoreVote,其成员int Score。在Comment我有以下方法Score()

    public int Score()
    {
        var votes = this.ScoreVotes;

        if (votes == null)
            return 0;
        else
        {
            int score = 0;

            foreach (var scoreVote in votes)
            {
                score += scoreVote.Score;
            }

            return score;
        }
    }

我有以下问题:

  1. 如果我知道我需要计算得分,我如何告诉EF将Comment的{​​{1}}预先带到前面? (我应该使用ScoreVotes吗?)
  2. 如果我使Include属性的getter方法与当前方法匹配,那么Score会记录在数据库中吗?它会不会反映最后计算得分?

1 个答案:

答案 0 :(得分:0)

在表格注释中创建列分数。只需在添加/更新/删除与评论相关的ScoreVotes时更新“分数”列。

还有使用计算字段。

这里有更多选择。 https://stackoverflow.com/a/12817314/181766