2011-04-06 1 views
2

Je lis deux autres articles dans Stackoverflow mais mon problème est simple et différent. J'ai 2 bases de données séparées et c'est pourquoi j'ai deux Datacontext séparés. Voici ma requête dans laquelle je suis le passage de paramètres et contraignant à mon GridView:La requête contient des références à des éléments définis dans un contexte de données différent

if (Session["EntitySelected"] == null) 
{ 
    MessageBox.Show("Please Select an Entity first!"); 
    Response.Redirect("~/FrontEnd/List.aspx"); 
} 
int getEntity = Int16.Parse(Session["EntitySelected"].ToString()); 
this.Label3.Text = "You Selected Entity: " + (string)Session["EntitySelected"]; 

dbWebEnrollDataContext dt1 = new dbWebEnrollDataContext(); 
CommissionsV2DataContext cv1 = new CommissionsV2DataContext(); 
var td = from s in cv1.Entity_Product_Points 
     join r in dt1.PlanMasters on s.Product_ID equals r.Product_ID 
     where s.Entity_ID == getEntity 
     select new 
     { 
      s.Product_ID, 
      r.PlanName, 
      s.HiCommission, 
      s.HiCommissionOld, 
      s.LowCommission, 
      s.LowCommissionOld 
     }; 
gvShowComm.DataSource = td; 
gvShowComm.DataBind(); 

Comme prévu, il me jette cette erreur. Mais j'ai fait la même chose pendant que j'ajoute un enregistrement dans la table de base de données 1. Il insère une ligne mais lance la même erreur. Quel est le look? Je vous remercie!

Répondre

0

Je ne crois pas que vous devriez faire une jointure entre deux contextes de données. De l'apparence de votre requête LINQ, vous n'utilisez même pas r de votre requête de jointure pour produire quelque chose de significatif; il semble que vous pouvez simplement interroger cv1 et obtenir vos données:

var td = cv1.Entity_Product_Points.Where(x => x.Entity_ID == getEntity); 
// Call ToList to fully enumerate the set. 

EDIT: Vous cherchez une solution, il semble que cela pourrait être tout aussi facile que marquer chaque contexte des données requête AsQueryable pour obtenir le solution.

+0

Un DataContext peut-il contenir deux tables différentes provenant de deux bases de données différentes? –

+0

Pls voir mon édition. J'ai fait un changement qui montre où j'utilise 'r' –

Questions connexes