Можно ли с помощью аннотаций данных, чтобы добавить значение по умолчанию для Int собственностиЗначение по умолчанию в MVC модели с помощью аннотаций данных
что-то вроде
[DefaultValue=1]
public int MyId {get; set;}
Можно ли с помощью аннотаций данных, чтобы добавить значение по умолчанию для Int собственностиЗначение по умолчанию в MVC модели с помощью аннотаций данных
что-то вроде
[DefaultValue=1]
public int MyId {get; set;}
Попробуйте это - установить значение по умолчанию в конструкторе:
public class YOURMODEL
{
public int MyId { get; set; }
public YOURMODEL()
{
MyId = 1;
}
}
Позднее добавление другим пользователем: Так как C# 6.0 (2015) этот простой синтаксис был llowed:
public class YOURMODEL
{
public int MyId { get; set; } = 1;
}
Вы можете сделать это только с помощью конструктора класса. Ваш код должен таким образом выглядеть следующим образом:
public class MyModel
{
public MyModel()
{
MyId = 1;
}
public int MyId {get; set;}
}
Это приведет к MyId
имущества, установленного в 1
всякий раз, когда новый экземпляр класса выполнен. Однако, если привязка к модели обнаруживает, что пользователь указал значение для MyId
, он будет перезаписывать значение по умолчанию с указанным пользователем значением.
Метод конструктора, конечно, правильно (согласно @Nilesh), но это решение не содержит никаких устаревших данных, которые вы, возможно, уже создали в своей базе данных.
Вы также можете обновить устаревшие данные, генерируя миграцию, а затем регулируя метод AddColumn ... константы выглядит
AddColumn("dbo.Orgs", "MyId", c => c.Int(nullable: false));
изменения:
AddColumn("dbo.Orgs", "MyId", c => c.Int(nullable: false, defaultValue: 1));
Примечание, это будет также создать базу данных триггер, который автоматически обновит значение по умолчанию для INSERT, чтобы технически не требовалось использование метода конструктора из перспективы базы данных, но установка значения с использованием конструктора по-прежнему является лучшей практикой.
Использование [DefaultValue(false)]
.
Не работает ... Просто используйте конструктор. –
Возможный дубликат [Аннотирование свойств модели со значениями по умолчанию] (http://stackoverflow.com/questions/6779881/annotating-properties-on-a-model-with-default-values) – scheien