Я создал одну сущность под названием «Item». Он получил Id, CreateDate и ModifyDate вместе с некоторыми требуемыми данными.EF Code First - Identity & Computed column
Я использую EF 4.3 Code First model. Я в порядке, чтобы перейти с последней версией EF, если она решит мою проблему.
Все эти три значения являются необязательными. Иногда я могу передать некоторые значения: Id или CreateDate. Я хочу, чтобы EF автоматически генерировал эти значения из БД, если я не прохожу, иначе возьмите тот, который я прошел.
До сих пор я нашел: если я создаю столбец Идентификатор как столбец Identity, то он игнорирует предоставленные значения, то же самое верно для вычисленного столбца.
В любом случае у меня будет опция для доставки этих значений?
Ещё одна вещь, у меня есть изменение даты поле. Я хочу, чтобы DB обновляла текущее время, когда я обновляю запись. Я нашел следующие варианты, но почему-то мне не удобно с кем-то из них. Есть ли какой-либо прямой вариант из БД (что-то вроде значения по умолчанию)?
- Используйте триггер Update, чтобы обновить ModifyDate
- Установите значение ModifyDate на C# стороне
Моя сущность:
public class Item
{
public Guid? ItemId { get; set; }
public string SomeData { get; set; }
public DateTime CreateDate { get; set; }
public DateTime? ModifyDate { get; set; }
}
Да, мы можем сделать это с помощью конструктора, но я хочу получить его из БД по той же причине, о которой вы говорили позже, которая хочет зависеть от часов БД, а не от разных машин. – Hitesh
Да, конечно. ItemId все еще может быть установлен конструктором и создать дату с помощью триггера insert. –