Несколько наборов объектов одного типа

Я попытался создать контекст данных в EF5 RC, подобный этому:

class WordContext : DbContext {
    public DbSet<Word> PossibleWords { get; set; }
    public DbSet<Word> UsedWords { get; set; }
}

Когда я попытался обновить базу данных, я получил сообщение об исключении:Несколько наборов объектов для каждого типа не поддерживаются. Наборы объектов «PossibleWords» и «UsedWords» могут содержать экземпляры типа «TestProject.Word».

После некоторого поиска в Google оказалось, что структурирование контекста данных, подобное этому, на самом деле невозможно в EF.

Мой вопрос:Что такое хороший код -для хранения таких данных?

Я думаю, тривиальным может быть что-то вроде:

class WordContext : DbContext {
    public DbSet<Words> Words { get; set; } 
}

class Words {
    public int ID { get; set; }
    public IList<string> PossibleWords { get; set; }
    public IList<string> UsedWords { get; set; }
}

Но это просто ужасно .

Редактировать :Конечно, еще одним тривиальным было бы использование 2 разных типов Word, например

класс ВозможноеСлово {... } класс BannedWord {... }

Собственно, теперь, когда я это записал, это выглядит даже не так уж и плохо, хм...

Редактировать2:

На всякий случай, если кто-то еще столкнется с этим, я покажу, как это было решено в конце:

class Word {
    [Key]
    public string String { get; set; }
}
class PossibleWord : Word { }
class UsedWord : Word { }

class WordContext : DbContext {
    public DbSet<PossibleWord> PossibleWords { get; set; }
    public DbSet<UsedWord> UsedWords { get; set; }
}
8
задан user974608 11 August 2012 в 11:10
поделиться