当记录尚未保存到数据库时,C# EF 计算属性不计算

问题描述

我对 C#、EF 和 Code First 还比较陌生……我想寻求帮助,教我我做错了什么或如何使其工作?

我有一个这样编码的简单类:

public class RaceEvent
{
    public RaceEvent()
    {
        EventName = "";
        TimeStarted = null;
        TimeEnded = null;
    }

    public string EventName { get; set; }
    public TimeSpan? TimeStarted { get; set; }
    public TimeSpan? TimeEnded { get; set; }

    /* This is my Computed Property */
    public double EventDuration
    {
        get
        {
            if (TimeStarted != null && TimeEnded != null)
            {
                var result = TimeEnded.Value.Subtract(TimeStarted.Value); 
                return result.TotalMinutes <= 0 ? 0 : result.TotalMinutes; 
            }

            return 0;
        }
    }
}

更多细节:

  1. 客户端是一个 Blazor WebAssembly 项目
  2. 服务器端 (Web Api) 是一个 ASP.NET Core Web 应用程序项目

我的问题是:EventDuration 计算属性在我编辑记录时完美地计算和更新值对象是通过 webapi 从数据库中检索到的记录服务器...但是计算属性不计算或什么都不做当我在创建新记录时(该对象仅在客户端使用 new RaceEvent() 实例化,尚未发布到服务器端)

解决方法

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

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

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