小编Bol*_*ain的帖子

PostSharp将k__Backing字段插入实体类,导致数据库生成失败

我正在使用C#中的Microsoft Entity Framework和CodeFirst创建数据库.我想在WPF应用程序中使用数据库,因此实体类应该实现"INotifyPropertyChanged".

这可以使用PostSharp方面非常优雅地完成,PostSharp方面每次属性更改时都会自动触发PropertyChanged事件.如果我创建这样的方面并在我的实体类上使用它,我在尝试创建数据库时会得到以下例外:

 \tSystem.Data.Entity.Edm.EdmNavigationProperty: Name: The specified name is not allowed:          '<Name>k__BackingField'.
Run Code Online (Sandbox Code Playgroud)

显然,PostSharp会创建一个名为"k__BackingField"的属性,导致数据库创建失败,因为从EntityFramework的角度来看,它是一个无效的名称.有没有办法绕过这个错误没有在每一个实体级手动实现"INotifyPropertyChanged的"?

PS:英语不是我的母语,如果你告诉我发帖中可能出现的错误,我将非常感激.

先感谢您

c# entity-framework postsharp code-first

5
推荐指数
1
解决办法
627
查看次数

标签 统计

c# ×1

code-first ×1

entity-framework ×1

postsharp ×1