EF:如何使用由 Datetime 类型的数据库列支持的 Edm.Time 类型的字段?

发布于 2024-10-16 04:55:52 字数 631 浏览 1 评论 0原文

我有一个 SQL 表,其中有一列日期时间类型和一个要匹配的实体模型。 我真正想要的是我的实体属性是时间类型,因为我只关心时间部分。但是,如果我在模型中将类型从 DateTime 切换为 Time,EF 会抱怨,并且我无法更新数据库以匹配。

我应该怎么办?

编辑-这是部分类:

public partial class LineSchedule
{
    public TimeSpan TimeOfDay
    {
        get
        {
            TimeSpan ts = new TimeSpan(XXTimeOfDay.Hour, XXTimeOfDay.Minute, XXTimeOfDay.Second);
            return ts;
        }
        set
        {
            this.XXTimeOfDay = new DateTime(XXTimeOfDay.Year, XXTimeOfDay.Month, XXTimeOfDay.Day,
                                    value.Hours, value.Minutes, value.Seconds);
        }
    }

}

I've got a SQL table that has a column of type datetime, and an entity model to match.
What I'd really like is for my Entity property to be of type Time, since I only care about the time portion. However, if I switch the type from DateTime to Time in the model, the EF complains, and I can't update the database to match.

What should I do?

Edit- Here's the partial class:

public partial class LineSchedule
{
    public TimeSpan TimeOfDay
    {
        get
        {
            TimeSpan ts = new TimeSpan(XXTimeOfDay.Hour, XXTimeOfDay.Minute, XXTimeOfDay.Second);
            return ts;
        }
        set
        {
            this.XXTimeOfDay = new DateTime(XXTimeOfDay.Year, XXTimeOfDay.Month, XXTimeOfDay.Day,
                                    value.Hours, value.Minutes, value.Seconds);
        }
    }

}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

慈悲佛祖 2024-10-23 04:55:52

由于实体框架生成分部类,我会:

  1. 更改生成的属性的名称

  2. 将 getter 和 setter 设为私有

  3. 在单独的部分声明中创建公共属性

  4. 使用它的 getter 和 setter 将生成的日期时间包装为时间。

Since Entity Framework produces partial classes, I would:

  1. Change the name of the generated property

  2. Make both the getter and setter private

  3. Create a public property in a separate partial declaration

  4. Use it's getter and setter to wrap the generated datetime as a Time.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文