Платформа Entity Core 2.2, могу ли я настроить ее для генерации объектов, реализующих INotifyPropertyChanged? - PullRequest
0 голосов
/ 28 апреля 2019

Я работаю с базой данных первым подходом, и когда я хочу получить сущности, я использую команду scaffold следующим образом:

Scaffold-DbContext "Server=localhost\SQLExpress;Database=myDataBase;Trusted_Connection=True;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models

Но я хочу использовать объекты POCO на клиентском уровне, в пользовательском интерфейсе, поэтому мне нужно реализовать INotifyPropertyChanged.

Одно из решений, которое я прочитал, - это использовать обертку для сущностей, которая реализует интерфейс уведомлений, но это большая работа, и на практике это то же самое, что делать это в сущностях EF.

Но я читал, что EF Core имеет новую коллекцию ObservableHashshet, так что это заставляет меня думать, что нет ничего плохого в том, что сущности реализуют интерфейс, если нет, то не будет смысла в том, что EF Core предлагает ObservableHashSet.

Но если я продолжу использовать те же параметры в команде scaffold, коллекции будут объявлены как hashset, а не как ObservableHashset, поэтому я предполагаю, что это должна быть опция для установки типа коллекции, которую я хочу, если нет Я должен изменить один за другим вручную.

А также, я хотел бы знать, есть ли какой-либо способ установить в команде scaffold, что я хотел бы реализовать сам интерфейс INotifyProperyChanged, поэтому мне не нужно было бы делать это вручную.

Некоторая документация, которую я прочитал:

https://blog.oneunicorn.com/2016/11/16/notification-entities-in-ef-core-1-1/

в этом документе говорится, что реализация INotifyPropertyChanged обладает тем преимуществом, что позволяет избежать лишних затрат на создание снимков и обнаружение изменений.

Спасибо.

...