我正在使用Linq-To-SQL,我想为每个实体附加一个接口.
我可以编辑designer.cs文件并完成此操作.
但是,当我通过UI对dbml进行更改时,它会重写整个designer.cs并且我将丢失更改.
我只是要处理它,还是有办法解决它?
我在designer.cs文件中执行此操作(IMatchable是我的自定义界面):
public partial class Error : INotifyPropertyChanging, INotifyPropertyChanged, IMatchable
{
...
}
Run Code Online (Sandbox Code Playgroud)
不要编辑设计器文件; 部分类的优点是你可以用just创建一个单独的文件
public partial class Error : IMatchable
{ }
Run Code Online (Sandbox Code Playgroud)
(假设我们使用隐式接口实现,因为它具有与所需接口匹配的属性)
谨慎的小字是:如果你正在使用VS2008,你有MyClasses.dbml和MyClasses.designer.cs,也没有叫这个文件MyClasses.cs-存在VS2008,使这个讨厌(你必须不停地移动中的错误using命名空间内的指令,或代码生成器休息) - 虽然修复了VS2010.
此外,如果它是单个接口,模型中的每个类型都实现了,您可以通过在DBML中指定对象基类型来作弊.设计人员不会显示此选项,但如果您手动编辑DBML,它可以正常工作.
| 归档时间: |
|
| 查看次数: |
971 次 |
| 最近记录: |