12
votes

Comment participer à des tables de jointure intérieure de différents types de données?

J'ai deux tables de deux contextes de données différents. Bien que les deux tables proviennent de la même base de données, deux datacontexts distincts existent.

Message d'erreur:

La requête contient des références aux éléments définis sur un contexte de données différent.

Comment puis-je contourner cela? Toute aide est appréciée. Merci.


3 commentaires

Comment cela a-t-il un sens d'un point de vue de l'entreprise pour avoir 2 datacontexts? Normalement, je recommanderais de toujours avoir seulement 1 datacontext par base de données et travailler avec cela ...


Cela n'a probablement pas de sens, mais c'est ce que je travaille.


Sa bonne pratique d'avoir un contexte pour lire et un pour écrire


3 Réponses :


1
votes

vous ne le faites pas. Les contextes de données peuvent avoir des vues incohérentes sur la base de données.


0 commentaires

7
votes

Si votre code fait quelque chose sur les lignes de:

from a in dc1.TableA
join b in dc1.GetTable<TableB>() on a.id equals b.id
select new { a, b }


2 commentaires

Doit être très sensible à la version. Mon DC1 n'a pas de méthode nommée "gettable" ...


@Paulgorbas Êtes-vous sûr que vous utilisez LINQ vers SQL?



2
votes

Une autre solution consiste à modifier le résultat à la liste ().

var query = (from a in dc1.TableA 
            join b in dc2.TableB on a.id equals b.id 
            select new { a, b }).ToList()


0 commentaires