Ответ 1
Если вы хотите, чтобы значение по умолчанию устанавливало его в конструкторе по умолчанию (без параметров). Нет необходимости иметь аннотацию данных для чего-то, что вы можете сделать напрямую.
У меня есть модель, подобная этой
public class MyModel
{
public int MyModelId { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public string Title { get; set; }
}
Мне было интересно, есть ли способ, используя Data Annotations, установить значение свойства - например Title - по умолчанию - другое значение свойства, то есть Name. Что-то вроде:
if(MyModel.Title == "") MyModel.Title = MyModel.Name;
Если вы хотите, чтобы значение по умолчанию устанавливало его в конструкторе по умолчанию (без параметров). Нет необходимости иметь аннотацию данных для чего-то, что вы можете сделать напрямую.
вы можете указать структуру сущности, что база данных позаботится об этом свойстве, отредактировав это свойство в SSDL файла edmx.
Сначала
<Property Name="CompanyName" Type="nvarchar" Nullable="false" MaxLength="40" />
мы изменим его на
<Property Name="CompanyName" Type="nvarchar" Nullable="false" MaxLength="40" StoreGeneratedPattern="Computed" />
установив storeGeneratedPattern = "Computed" , мы можем сказать EF, что значение свойства будет вставлено DB.
Для редактирования SSDL
2.Ctrl + F имя свойства и просто измените это свойство
Я не знаю, есть ли способ сделать с аннотациями данных.
Невозможно установить атрибут атрибута как функцию в целом, вы получите сообщение об ошибке:
"Аргумент атрибута должен быть константным выражением, выражением typeof или выражением создания массива типа параметра атрибута"