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

时间:2011-02-03 23:32:47

标签: .net sql entity-framework-4

我有一个SQL表,其中包含datetime类型的列,以及要匹配的实体模型。 我真正喜欢的是我的Entity属性是Time类型,因为我只关心时间部分。但是,如果我在模型中将类型从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);
        }
    }

}

1 个答案:

答案 0 :(得分:0)

由于Entity Framework产生了部分类,我会:

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

  2. 将getter和setter设为私有

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

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