PostSharp вставляет поле k__Backing в класс Entity, что приводит к сбою создания базы данных.

Я создаю базу данных, используя Microsoft Entity Framework и CodeFirst на C#. Я хочу использовать базу данных в приложении WPF, поэтому классы сущностей должны реализовывать «INotifyPropertyChanged».

Это можно сделать очень элегантно, используя аспект PostSharp, который автоматически запускает событие PropertyChanged при каждом изменении свойства. Если я создаю такой аспект и использую его в своих классах сущностей, я получаю следующее исключение при попытке создать базу данных:

 \tSystem.Data.Entity.Edm.EdmNavigationProperty: Name: The specified name is not allowed:          '<Name>k__BackingField'.

Очевидно, что PostSharp создает свойство с именем «k__BackingField», которое приводит к сбою создания базы данных, потому что это недопустимое значение. имя с точки зрения EntityFramework. Есть ли способ обойти эту ошибку без ручной реализации «INotifyPropertyChanged» в каждом отдельном классе Entity?

P.S: Английский не мой родной язык, буду очень благодарен, если вы сообщите мне о возможных ошибках в моих сообщениях.

Заранее спасибо

5
задан BoltzmannBrain 13 May 2012 в 11:44
поделиться