2009-02-10 7 views
1

Les classes générées par LINQ (DBML) sont-elles considérées comme des POCO? Si j'ajoute des requêtes statiques à ces classes, sont-elles encore des POCO? J'imagine que cela change une fois que je commence à faire des affaires dans les partiels LINQ. Telles que l'ajout d'autres attributs, la création de collections et essentiellement faire les partiels plus de classes DAL.Les classes POCO sont-elles générées par LINQ?

Si les classes LINQ sont des POCO, quel est un autre exemple?

Répondre

0

Je dirais not. Il y a une quantité décente d'intelligence dans une classe générée par un concepteur Linq to SQL.

0

Eh bien, ils n'héritent d'aucune classe de base spéciale au moins. Et la plupart du code, vous pouvez simplement supprimer - LINQ-to-SQL n'en a pas besoin. Mais notez que, ce faisant, vous perdrez de nombreuses améliorations, comme un suivi des modifications plus efficace (aucune propriété n'a modifié les événements) et un chargement différé pour les relations. Plus important encore, qui se soucie si quelqu'un les considère POCO s'ils travaillent pour ce dont vous avez besoin? En ce qui concerne l'ajout de votre propre comportement sur l'objet de données ... c'est à cela que servent les objets. POCO ne signifie pas de comportement, cela signifie simplement que les objets ne sont pas trop "wierd" ou avec beaucoup de code spécifique au framework (comme une classe de base spéciale, des interfaces spéciales, etc.)

0

La réponse courte est non. Les classes générées par LINQ to SQL contiennent la logique de persistance de la base de données, qui est requise par LINQ to SQL pour fonctionner correctement. POCOs, by definition, n'ont pas ce code.

+0

Je ne suis toujours pas clair sur ce qu'est un POCO. C'est une signification tellement subjective qu'elle n'a pas de sens. Qu'est-ce qu'un exemple concret de POCO? – 4thSpace

+0

Ma définition est: un objet basé sur une classe qui ne connaît et ne se soucie que de lui-même. Il contient des membres, des propriétés et des méthodes qui ne dépendent pas d'entités externes. Une fois qu'il s'agit de dépendances externes (un framework de persistance ou un mécanisme de journalisation, par exemple), ce n'est plus un POCO. –

+0

Cela ressemble à la classe d'utilité. Quelque chose de logique métier indépendant. Mais encore, qu'est-ce qu'un exemple du monde réel? – 4thSpace

Questions connexes