Me trataron de crear un contexto de datos en EF5 RC similar a esto:conjuntos de objetos múltiples del mismo tipo
class WordContext : DbContext {
public DbSet<Word> PossibleWords { get; set; }
public DbSet<Word> UsedWords { get; set; }
}
Cuando traté de actualizar la base de datos, recibí una excepción diciendo: conjuntos de objetos de múltiples por tipo no son compatibles. El objeto establece 'PossibleWords' y 'UsedWords' ambos pueden contener instancias de tipo 'TestProject.Word'.
Después de googlear, parece que estructurar un contexto de datos como este no es posible en EF.
Mi pregunta es: ¿Qué es un buen diseño de código para almacenar datos como este?
supongo trivial podría ser algo como:
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; }
}
Pero esto sólo se siente terribles.
Editar: Por supuesto, otra trivial sería utilizar 2 tipos de palabras diferentes, como
clase PossibleWord {...} clase BannedWord {...}
En realidad, ahora que lo lo escribió incluso no se ve tan mal, hmm ...
Edit2:
Sólo en caso de que alguien se encuentra con esto también, te muestro como se resolvió en el final:
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; }
}
Gracias por mencionar lo que terminaste usando. –