多个相同类型的对象集

我尝试在EF5 RC中创建一个与此类似的数据上下文:

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

当我尝试更新数据库时,我收到一个例外说: 不支持每种类型的多个对象集。 对象集’PossibleWords’和’UsedWords’都可以包含’TestProject.Word’类型的实例。

经过一些谷歌搜索后,似乎在EF中实际上不可能构建这样的数据上下文。

我的问题是: 存储这样的数据的代码优先设计什么?

我想一个微不足道的可能是这样的:

 class WordContext : DbContext { public DbSet Words { get; set; } } class Words { public int ID { get; set; } public IList PossibleWords { get; set; } public IList UsedWords { get; set; } } 

但这感觉很糟糕

编辑:当然,另一个微不足道的是使用2种不同的Word类型,比如

class PossibleWord {…}类BannedWord {…}

实际上,现在我把它写下来它甚至看起来都不那么糟糕,嗯……

EDIT2:

为了防止其他人遇到这种情况,我将展示它最终是如何解决的:

 class Word { [Key] public string String { get; set; } } class PossibleWord : Word { } class UsedWord : Word { } class WordContext : DbContext { public DbSet PossibleWords { get; set; } public DbSet UsedWords { get; set; } } 

据推测,您试图在原始代码中表示2个不同的表。 我会考虑两个类,UsedWord和PossibleWord,只是让它们都实现了一个通用接口,比如说:IWord? 或者更简单,只需在Word上有一个bool“IsUsed”字段,以及一个表/类型。