2009-10-08 7 views
2

Je n'ai aucune idée de comment je peux obtenir une structure d'objet existante basée sur les classes suivantes (simplifiées) dans une base de données en utilisant Entity Framework (EF est une contrainte, je dois l'utiliser).Comment créer un modèle de données d'entité pour les types génériques hérités?

public abstract class WahWahProperty 
{ 
    public string Name { get; set; } 
    public abstract Type PropertyType { get; } 
} 

// ---------------- 

public class WahWahProperty<T> : WahWahProperty 
{ 
    public T Value { get; set; } 

    public override Type PropertyType 
    { 
    get { return typeof(T); } 
    } 
} 

// ---------------- 

public class WahWahContainer 
{ 
    public List<WahWahContainer> Children { get {...}; } 
    public List<WahWahContainer> Parents { get {...}; } // multiple "Parents" allowed 
    public List<WahWahProperty> Properties { get {...}; } 
    //... some more props here ... 
} 

Des idées?

Répondre

2

L'EF ne prend pas en charge les types d'entités génériques (ce qui semble être ce que vous faites).

Bien que nous ayons effectué un changement dans EF 4.0 (pas dans Beta1), vous serez en mesure d'utiliser une classe non générique dérivée d'une classe générique en tant qu'entité.

espoir Quoi qu'il en soit cette aide

Alex

gestionnaire de programme Entity Framework équipe

Entity Framework Tips

+0

Est-ce que dans la version bêta 2? Peux-tu me donner plus d'informations à ce sujet? – JRoppert

+0

Ouais c'est une chose Beta2. J'étais l'une des personnes qui a conduit à obtenir cette capacité dans le produit, mais il n'y a rien qui décrit cela pour le moment. –

+0

Merci Alex, impatient de voir cela bientôt, pourrait aider à une certaine réutilisation avec des choses de relation comme la généralisation des associations entre entités (en implémentant un à plusieurs dans l'application). – Jason