У нас есть C#-приложение, созданное с помощью VS2015, в котором мы используем фреймворк сущностей (сначала EF 5 с данными).
В модели мы должны настроить столбец в некоторых включенных сущностях из базы данных на StoreGeneratedPattern = Computed.
В нашем случае мы получили в этих сущностях столбец типа datetime, в который мы хотим в случае необходимости вставить текущую временную метку (как она определена в базе данных), не задавая ее явно в коде.
Этого можно добиться в дизайнере EDMX, установив шаблон вручную.
Но поскольку мы время от времени обновляем модель, удаляя измененные объекты и повторно добавляя их с помощью «Обновить модель из базы данных», настройка шаблона будет потеряна, и ее необходимо будет добавить повторно.
Потому что это опасно, если разработчик забудет настроить один из столбцов сущностей, которые мы хотели настроить в модели с помощью кода.
Итак, мы попробовали это в конструкторе модели объекта:
public MyEntity()
: base("name=MyEntity")
{
DbModelBuilder modelBuilder = new DbModelBuilder();
modelBuilder.Entity<Table_A>().Property(t => t.column1)
.HasDatabaseGeneratedOption(System.ComponentModel.DataAnnotations.Schema.DatabaseGeneratedOption.Computed);
}
Каждый раз, когда создается экземпляр модели объекта, выполняется код. Но вместо того, чтобы работать, поскольку шаблон был настроен вручную, текущая временная метка не устанавливается в базе данных после вставки.
Как мы можем решить эту проблему?
Любая помощь будет оценена по достоинству.
Патрик





Сгенерированный класс всегда будет частичным классом. Это позволяет вам написать второй разделяемый класс, который помечен необходимыми модификациями. в вашем случае вы можете создать другой частичный класс, который будет содержать вашу модификацию после обновления Edmx созданный частичный класс не будет перегенерирован
да, конечно, мы используем частичные классы, чтобы разделить один класс на множество частичных классов.docs.microsoft.com/fr-fr/dotnet/csharp/programming-guide/…
Здравствуйте, Алаэддин. Большое спасибо за ваше предложение. Может ли этот второй частичный класс иметь то же имя класса, что и сущность?