title: Multiple object sets of the same type
body: <p>I tried to create a data context in EF5 RC similar to this:</p>
  
  <pre><code>class WordContext : DbContext {
      public DbSet&lt;Word&gt; PossibleWords { get; set; }
      public DbSet&lt;Word&gt; UsedWords { get; set; }
  }
  </code></pre>
  
  <p>When I tried to update the database, I received an exception saying: <em>Multiple object sets per type are not supported. The object sets 'PossibleWords' and 'UsedWords' can both contain instances of type 'TestProject.Word'.</em></p>
  
  <p>After some googling, it appears that structuring a data context like this is not actually possible in EF.</p>
  
  <p>My question is: <strong>What's a good code-first design to store data like this?</strong></p>
  
  <p>I guess a trivial one could be something like:</p>
  
  <pre><code>class WordContext : DbContext {
      public DbSet&lt;Words&gt; Words { get; set; } 
  }
  
  class Words {
      public int ID { get; set; }
      public IList&lt;string&gt; PossibleWords { get; set; }
      public IList&lt;string&gt; UsedWords { get; set; }
  }
  </code></pre>
  
  <p>But this just feels <strong>terrible</strong>.</p>
  
  <p>Edit: Of course, another trivial one would be to use 2 different Word types, like </p>
  
  <p>class PossibleWord { ... }
     class BannedWord { ... }</p>
  
  <p>Actually, now that I wrote it down it doesn't even look that bad, hmm...</p>
  
  <p>Edit2:</p>
  
  <p>Just in case someone else runs into this too, I'll show how it was solved in the end:</p>
  
  <pre><code>class Word {
      [Key]
      public string String { get; set; }
  }
  class PossibleWord : Word { }
  class UsedWord : Word { }
  
  class WordContext : DbContext {
      public DbSet&lt;PossibleWord&gt; PossibleWords { get; set; }
      public DbSet&lt;UsedWord&gt; UsedWords { get; set; }
  }
  </code></pre>