2010-02-10 4 views
1

J'ai généré un projet EDMX et mes classes d'entités de données ont été définies. Ils héritent tous de System.Data.Object.DataClasses.EntityObject. Ce que je voudrais faire est d'avoir une autre classe abstraite qui hérite de EntityObject, puis mes classes d'entités de données héritent de cette nouvelle classe.Ajout d'une classe de base abstraite personnalisée entre EntityObject et les classes générées dans Entity Framework

Quelle est la meilleure façon d'y parvenir?

Nous vous remercions de votre aide.

+0

Y at-il une raison pour laquelle vous faites de l'héritage et pas quelque chose de plus simple comme l'implémentation des classes partielles? – bryanjonker

+1

Je suis en train d'implémenter les classes partielles. La raison en est que je passe des objets sur des appels WCF, et je voulais passer n'importe lequel de ces types d'objet dans le même appel, mais l'ai plus restreint que "EntityObject". La classe abstraite était un moyen de le faire, car les interfaces ne peuvent pas être sérialisées. – Sako73

Répondre

3

Vous avez raison de penser à supprimer EntityObject, les artefacts de classes EF ne devraient pas être exposés sur le fil.

S'il vous plaît, s'il vous plaît, s'il vous plaît utiliser le DTO pattern pour les objets qui sont passés sur le fil.

Si vous créez de nouvelles classes DTO (manuellement ou à l'aide d'un modèle T4) et utilisez quelque chose comme AutoMapper pour mapper les données dans les deux sens.

Les charges utiles sérialisées seront beaucoup plus simples et plus réutilisables.

+0

Je vois; le passage d'une classe abstraite serait seulement capable de passer les paramètres définis dans cette classe, et n'aurait pas le reste des données. Merci. – Sako73

+0

Correct aussi. – JTew

Questions connexes