2008-12-10 3 views

Répondre

3

Nous étions les adopteurs précoces de LINQ to SQL, mais seulement sur une base limitée en attendant l'Entity Framework. Nous avons seulement commencé à travailler avec EF, mais ma plus grande plainte est toujours la même que celle que j'avais avec LINQ to SQL, étant que mon modèle de domaine est toujours marié à la source de données ou au framework, ce qui signifie que mes POCO ne sont pas vraiment indépendants comme ils devraient être. Bien sûr, sur le blog Entity Framework Design, ils ont reconnu que l'ignorance de la persistance est une fonctionnalité demandée très populaire (et sera dans la prochaine version), et il y a au moins un exemple de la façon d'obtenir l'ignorance de la persistance tout en utilisant true POCO here.

Nous avons également évalué NHibernate. C'est très solide et facile à utiliser. De manière réaliste, toutes choses étant égales par ailleurs, NHibernate est mieux établie, mais j'ai une préférence personnelle pour rester dans les implémentations de Microsoft, sauf si j'ai une raison légitime de ne pas le faire.

3

Vous pouvez également envisager de regarder Castle ActiveRecord, qui est une couche au-dessus de NHibernate. Cela fait briller toute la question de l'ORM, à mon avis.

+0

Quelles étaient les zones où Castle ActiveRecord était un avantage? –

+0

ActiveRecord simplifie la configuration. Vous ne configurez plus avec des fichiers XML, mais vous décorez vos classes à la place. Il gère très bien le chargement paresseux et vous permet de faire des choses comme myObject.Save(). –