2009-09-02 6 views
2

Qu'est-ce que cela signifie réellement par le terme «Entité» dans LINQ?LINQ relations (La question brûlante)

Quelle est la différence entre EntitySet et EntityRef quand on parle de LINQ?

Pouvez-vous donner un exemple concret? Comme Order et OrderItems, etc?

Répondre

4

Dans le contexte de Linq-to-SQL, une entité signifie simplement un objet qui peut être stocké dans la base de données. Notez que le terme est parfois utilisé plus étroitement, par ex. dans la conception axée sur le domaine. Un EntitySet représente la relation d'un objet avec un ensemble d'autres objets, tandis qu'un EntityRef représente une relation avec un seul autre objet. En d'autres termes, si vous avez une relation plusieurs-à-un entre deux classes d'objets, une extrémité sera représentée par un EntitySet et l'autre par un EntityRef.

+0

Pouvez-vous donner un exemple concret? Comme Order et OrderItems, etc? – anonymous

+0

Typiquement votre classe Order aurait une propriété nommée Items de type EntitySet , et votre classe OrderItem aurait une propriété nommée Order of type Order. Cependant, en interne, la classe OrderItem utilise une variable de type EntityRef lors de l'implémentation de la propriété order. Cela permet à Linq de prendre en charge le chargement différé, c'est-à-dire de ne pas charger l'objet associé jusqu'à ce que vous accédiez à la propriété. –

+0

quoi dans le cas de relation many-to-many? les deux auront 'EntitySet'? – dotNETbeginner