Проблема с дискриминаторами в Linq to SQL - PullRequest
1 голос
/ 12 марта 2009

Я пытаюсь использовать поле дискриминатора в моей установке linq to sql. У меня есть базовый класс с именем Inventory_Item, который я настроил как абстрактный, а затем множество различных служб, которые наследуют его (например, BaseWash). Теперь свойства для ассоциации BaseWash

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' не следует назначать ключ дискриминатора наследования.

Что я делаю не так?

1 Ответ

4 голосов
/ 12 марта 2009

Поскольку Inventory_Item является абстрактным, вы никогда не сможете создать экземпляр Inventory_Item. Так что просто очистите Base Class Discriminator Value - его нельзя использовать. Или сделайте класс неабстрактным и оставьте его на 1.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...