Установите значение по умолчанию в EF Designer datetime - PullRequest
21 голосов
/ 13 января 2011

Попытка установить значение по умолчанию для поля даты и времени, чтобы принять текущее время. В конструкторе полей SQL я бы использовал getdate () . Что я должен использовать в конструкторе Entity Framework?

ТНХ

Ответы [ 5 ]

28 голосов
/ 14 января 2011

Установите для ' StoredGeneratedPattern ' значение Computed для поля в EDMX.

Тем не менее, в SQL Server вам по-прежнему необходимо значение по умолчанию, однако приведенная выше настройка гарантирует, что EF будет уважать его.

2 голосов
/ 13 июля 2015

Опираясь на ответ RPM1984 :

  1. Выберите поле со значением по умолчанию, Created_On в моем примере, в вашем файле EDMX
  2. Перейти к панели Свойства
  3. Выберите атрибут StoreGeneratedPattern
  4. Затем измените значение на Вычислено

EDMX to Properties panel

0 голосов
/ 21 мая 2017

Kidos для этого ответа, хотя он не работал для меня после установки StoreGeneratedPattern значение атрибута в Вычисляется , но установка StoreGeneratedPattern значение атрибута в Идентичность работал для меня, я устанавливал "Guid" по умолчанию для UserID типа UNIQUEIDENTIFIER

0 голосов
/ 10 августа 2016

Установка значений по умолчанию в Entity Framework 5 и 6 путем изменения файла шаблона T4

Внесены следующие изменения в .tt (файл шаблона) удалить условие if в строке 34

34 if (propertiesWithDefaultValues.Any() || collectionNavigationProperties.Any() || complexProperties.Any())
35 {

добавить

59 OnCreated();
60 }
61
62 partial void OnCreated();
63 <#

см. Это изображение http://i.stack.imgur.com/DdlNB.png красный означает удалить, а зеленый означает добавить

Это добавит конструктор во все классы сущностей с помощью метода OnCreated.

Как показано ниже

public partial class Category
{
    public Category()
    {
      this.Products = new HashSet<Product>();
      OnCreated();
    }

 partial void OnCreated();
 public int Id { get; set; }
 public string Name { get; set; }

 public virtual ICollection<Product> Products { get; set; }
}

Затем создайте файл класса, используя то же пространство имен, что и у Entities.

public partial class Category
{
   partial void OnCreated()
   {
      Name = "abc"
   }
}

подробности см. Ниже. https://stackoverflow.com/a/38882032/5475124

0 голосов
/ 01 августа 2011

Щелкните правой кнопкой мыши на edmx, откройте с помощью, выберите редактор XML, найдите изменение «ProviderManifestToken» с 2008 по 2005 год. Сохраните.

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