Question

J'essaie d'implémenter mes classes persistantes à l'aide d'interfaces. J'ai créé ce qui suit

public interface IFoo
{
    int Id {get;set;}
}

public class Foo : IFoo
{
    private int _id;

    public int Id {get{return _id;} set{_id = value;}}
}

public interface IBar
{
    int Id {get;set;}
    IFoo Foo {get;set;}
}

public class Bar : IBar
{
    private int _id;
    private IFoo _foo;

    public int Id {get{return _id;} set{_id = value;}}
    public IFoo Foo {get{return _foo;} set{_foo = value;}}
}

Est-il possible d'indiquer que Foo est une classe valide et de l'utiliser par défaut, je ne souhaite pas utiliser la base de données pour stocker le type de classe.

Merci

Rohan

Était-ce utile?

La solution 3

après avoir lu le guide Telerik, j’ai posté une question sur leur forum ...

Utiliser les interfaces sans stocker le type de classe dans le base de données

Il semble que ce ne soit pas possible.

Autres conseils

La colonne de désinsertion est toujours nécessaire car OpenAccess ne sait pas si d'autres implémentations pourront être validées ultérieurement. Ce que vous pouvez faire est d'utiliser une référence directe Foo en tant que champ privé et de l'exposer en tant que propriété Interface. L’exception de conversion de classe dans le sélecteur peut vous aider à trouver les emplacements où un objet incorrect est défini.

J'espère que cela vous aidera,

Jan

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top