EF: Как мне использовать поле типа Edm.Time, подкрепленное столбцом базы данных типа Datetime? - PullRequest
1 голос
/ 04 февраля 2011

У меня есть таблица 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 голосов
/ 04 февраля 2011

Поскольку Entity Framework создает частичные классы, я бы:

  1. Изменил имя сгенерированного свойства

  2. Сделал бы и геттер, и сеттерprivate

  3. Создание открытого свойства в отдельной частичной декларации

  4. Используйте его методы получения и установки, чтобы обернуть сгенерированную дату-время в качестве времени.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...