2012-08-11 6 views
8

Ben buna benzer EF5'i RC veri içeriğini oluşturmak için çalıştı türü desteklenmiyor. Nesne 'PossibleWords' ve 'UsedWords' nesneleri her ikisi de 'TestProject.Word' türlerini içerebilir. Bazı yürürlükten sonra, bunun gibi bir veri içeriğinin yapılandırılmasının EF'de aslında mümkün olmadığı anlaşılmaktadır.Çoklu nesne setleri

Soruma Soru: Böyle bir veri depolamak için iyi bir kod ilk tasarım nedir?

Ben önemsiz biri gibi bir şey olabilir sanırım:

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; } 
} 

Ama bu sadece korkunç hissediyor.

Düzenleme: Tabii ki, başka önemsiz bir anda

Aslında

sınıf PossibleWord {...} sınıf BannedWord {...}, ben gibi, 2 farklı Kelime türlerini kullanmak olacaktır bir başkası da bu işe çalışır

her ihtimale karşı

, bunu sonunda çözüldü nasıl göstereceğiz:

bile ... hmm

EDIT2 o kötü görünmüyor yazdım

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; } 
} 
+2

Kullandığınız şeyden bahsetmeye çalıştığınız için teşekkür ederiz. –

cevap

7

Muhtemelen orijinal kodunuzda 2 farklı tabloyu temsil etmeye çalışıyorsunuzdur. İki sınıf, UsedWord ve PossibleWord'u düşünürdüm ve her ikisinin de ortak bir arayüz uyguladıklarını söyledim, örneğin: IWord? Veya daha basit, Word'de bir bool "IsUsed" alanı ve bir tablo/türü var.

+0

Haha evet, ninja'd. Bir şekilde yazana kadar bir şekilde bana doğru bakmadı. Cevabınızı 8 dakikaya kadar kabul etmeme izin vermeyeceğim. Çok teşekkürler :] – user974608