2009-03-11 13 views
2

私はlinqからSQLの設定にdiscriminatorフィールドを使用しようとしています。私はInventory_Itemという基底クラスを用意しています。抽象クラスとそれから継承するさまざまなサービス(例:BaseWash)を用意しています。今BaseWash関連のプロパティがありLinqからSQLへのdiscriminatorsの問題

Base Class Discriminator Value = 1 
Derived Class Discriminator Value = 2 
Discriminator Property = ItemCategoryID 
Inheritance Default = BaseWash 

これは罰金構築し、それを実行したとき、私はここにデザイナーのコードで例外を取得:

public System.Data.Linq.Table<Inventory_Item> Inventory_Items 
{ 
    get 
    { 
     return this.GetTable<Inventory_Item>(); 
    } 
} 

抽象クラスのICS.Core.Inventory_Item "継承識別子キーを割り当ててはいけません。

私は間違っていますか?

答えて

4

Inventory_Itemは抽象であるため、Inventory_Itemをインスタンス化する方法はありません。したがって、Base Class Discriminator Valueをクリアするだけで使用することはできません。または、クラスを非抽象的にして1にしておきます。

+0

ありがとうございました。私の問題は解決したようです。 SOのもう一つの点をスコアしてください。 – Mykroft