Я попытался создать контекст данных в 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; }
}