alt text http://img16.imageshack.us/img16/8085/datacontext.jpg
以上是我的数据上下文的LINQ to SQL设计器视图。
以下是设计人员生成的相关代码:
抽象ActivityBase类的访问器:
public System.Data.Linq.Table<ActivityBase> ActivityBases
{
get
{
return this.GetTable<ActivityBase>();
}
}
ActivityBase类和子类列表:
[Table(Name="dbo.Activities")]
[InheritanceMapping(Code="1", Type=typeof(ActivityBase), IsDefault=true)]
[InheritanceMapping(Code="2", Type=typeof(Project))]
[InheritanceMapping(Code="3", Type=typeof(ProjectActivity))]
[InheritanceMapping(Code="5", Type=typeof(Task))]
[InheritanceMapping(Code="4", Type=typeof(Activity))]
public abstract partial class ActivityBase : INotifyPropertyChanging, INotifyPropertyChanged
{
有没有办法为子类生成访问器方法,如上面的继承映射(项目,任务等)所示,而无需手动执行?我手动添加了它们,但随后设计师的更改会覆盖任何手动更改。
我这样做错了吗?我不应该为子类创建访问器吗?从ActivityBase中过滤对我来说似乎更糟。
感谢您提供任何帮助。
答案 0 :(得分:2)
请注意,LINQ to SQL会创建分部类。如果要修改自动生成的类,可以通过声明具有相同名称的部分类并在其中添加方法来实现。这样,当您在设计师中进行更改时,它们不会被覆盖。
答案 1 :(得分:0)