微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决当记录尚未保存到数据库时,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 举报,一经查实,本站将立刻删除。