我試圖創建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種不同的字類型,如
類PossibleWord {...} 類BannedWord {...}
其實,現在我把它寫下來,它甚至不看壞,嗯...
EDIT2:
以防萬一別人運行到這個太,我會告訴它到底是怎麼解決:
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; }
}
感謝您提及您最終使用的內容。 – 2014-02-15 14:22:15