procédure pas à pas rapide:
- Créer un modèle de données d'entité (.edmx) dans Visual Studio et désactivez la propriété "outil personnalisé" du fichier edmx pour empêcher le code génération
- Créez les entités dans votre modèle de données d'entité avec les mêmes noms que vos classes de domaine. Les propriétés des entités devraient également avoir les mêmes noms et types que dans les classes de domaine
- Créer une classe héritée de
ObjectContext
pour exposer les entités (généralement dans le même projet que le fichier .edmx)
- Dans cette classe, créez un propriété de type
ObjectSet<TEntity>
pour chacune des entités vous
Exemple de code:
public class SalesContext : ObjectContext
{
public SalesContext(string connectionString, string defaultContainerName)
: base(connectionString, defaultContainerName)
{
this.Customers = CreateObjectSet<Customer>();
this.Products = CreateObjectSet<Product>();
this.Orders = CreateObjectSet<Order>();
this.OrderDetails = CreateObjectSet<OrderDetail>();
}
public ObjectSet<Customer> Customers { get; private set; }
public ObjectSet<Product> Products { get; private set; }
public ObjectSet<Order> Orders { get; private set; }
public ObjectSet<OrderDetail> OrderDetails { get; private set; }
}
C'est à ce sujet ...
Important: si vous utilisez la création automatique du proxy pour le suivi des changements (ContextOptions.ProxyCreationEnabled
, ce qui est vrai par défaut), les propriétés de vos classes de domaine doit être virtuelle. Cela est nécessaire car les proxys générés par EF 4.0 les remplaceront pour implémenter le suivi des modifications.
Si vous ne souhaitez pas utiliser la création automatique de proxy, vous devrez gérer vous-même le suivi des modifications. Voir this MSDN page pour les détails
Merci pour cela, je l'ai maintenant. a pris un certain temps pour passer la génération de modèle T4 cependant. – ace