2009-09-24 5 views
0

J'ai un peu d'un bloc mental sur la façon dont cela devrait fonctionner:Associer à des données statiques en utilisant Entity Framework

J'ai deux tables Emplacement et Pays. Dans la table Location, j'ai un FK dans la table de pays PK qui est CountryCode.

La table de pays est remplie avec des données statiques et chaque fois que j'ajoute un nouvel emplacement je lierai au pays avec le countryCode approprié.

Je peux le faire en utilisant l'EF en demandant de retourner l'objet Pays pour ce code de pays chaque fois que je veux créer un nouvel emplacement. Cela ne semble pas très efficace et il doit y avoir un meilleur moyen, existe-t-il un moyen de lier à l'objet pays sans effectuer la requête puisque je connais la clé? ou dois-je créer un objet CountriesList et interroger celui-ci en mémoire à chaque fois pour éviter l'appel db? ou y a-t-il un autre moyen?

Répondre

2

La façon de définir la relation entre l'emplacement et le pays sans interroger le pays (si vous connaissez la clé Pays) existe:

newLocation.CountryReference.EntityKey = new EntityKey("YourContext.Country", "CountryID", countryID_Value); 

Hope this helps.

+2

Ceci est la meilleure solution pour EF version 1. (+1) Pour EF version 4, utilisez les associations FK. –

+0

Merci, cela fonctionne parfaitement. – Richbits

Questions connexes