どのようにサブクラスのアクセサメソッドを生成するためにLINQ to SQLデザイナを使用していますか?

StackOverflow https://stackoverflow.com/questions/2541964

質問

ALTテキストhttp://img16.imageshack.us/img16/8085/datacontext .JPGする

上が私のデータコンテキストのためのSQLデザイナビューにLINQです。

以下は、

は、設計者が生成する関連するコードです。

アクセサ抽象を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からフィルタリングすることは私には悪化しそうです。

この上の任意の助けてくれてありがとう。

役に立ちましたか?

解決

SQLにLINQは、部分クラスを作成することに注意してください。あなたが自動的に生成されたクラスを変更したい場合は、同じ名前の部分クラスを宣言し、そこにメソッドを追加することによって行うことができます。あなたはデザイナーで変更を行う場合は、この方法では、彼らは上書きされません。

他のヒント

私が知りたいと思ったものを、この質問の答えを見つけます:

MyDataContext.dbml下には.csファイルのは何ですか?

データコンテキストでも部分クラスであるので、私はそのファイルを使用することができます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top