Запрос содержит ссылки на элементы, определенные в другом контексте данных. - PullRequest
2 голосов
/ 07 апреля 2011

Я прочитал еще пару постов в Stackoverflow, но моя проблема проста и отличается.У меня есть 2 отдельные базы данных, и поэтому у меня есть два отдельных Datacontext.Вот мой запрос, в котором я передаю параметры и привязываю его к моему GridView:

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();

Как и ожидалось, он выдаёт мне эту ошибку.Но я сделал то же самое, когда добавлял запись в таблицу из 1 базы данных.Он вставляет строку, но также выдает ту же ошибку.Что посмотреть?Спасибо!

1 Ответ

0 голосов
/ 07 апреля 2011

Я не думаю, что вам следует объединяться в двух контекстах данных. Судя по вашему запросу LINQ, вы даже не используете r из запроса соединения, чтобы произвести что-то значимое; похоже, вы можете просто запросить cv1 и получить данные:

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

РЕДАКТИРОВАТЬ: При поиске решения кажется, что это может быть так же просто, как пометить каждый запрос контекста данных как AsQueryable, чтобы получить решение .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...