Estoy creando una base de datos usando Microsoft Entity Framework y CodeFirst en C#. Quiero utilizar la base de datos en una aplicación WPF, por lo que las clases de entidad deben implementar "INotifyPropertyChanged".PostSharp insertando k__Backing Field en Entity Class, causando que la generación de la base de datos falle
Esto se puede hacer muy elegantemente utilizando un aspecto PostSharp, que desencadena automáticamente el evento PropertyChanged cada vez que cambia una propiedad. Si creo un aspecto tan y lo uso en mis clases de entidad, me sale el siguiente excepcion cuando se trata de crear la base de datos:
\tSystem.Data.Entity.Edm.EdmNavigationProperty: Name: The specified name is not allowed: '<Name>k__BackingField'.
Obviamente PostSharp crea una propiedad llamada "k__BackingField" que provoca la creación de bases de datos a fallar, porque es un nombre inválido desde el punto de vista de EntityFramework. ¿Hay alguna forma de eludir este error sin implementar manualmente "INotifyPropertyChanged" en cada Entity-Class?
P.S: El inglés no es mi lengua materna, le estaría muy agradecido si me informara sobre posibles errores en mis publicaciones.
gracias de antemano
k__Backingfield no se genera bij postsharp sino por el compilador C# cuando se utiliza una propiedad implementada automáticamente. – albertjan
Eso puede ser cierto, pero si desactivo PostSharp, el error ya no se produce. De alguna manera tiene que haber una relación entre el error y PostSharp. – BoltzmannBrain
¿ha intentado cambiar de una propiedad autoimplementada a una con un campo de respaldo? – albertjan