2013-04-19 3 views
1

Я пытаюсь создать систему следующим образом -ASP.Net Linq имена столбцов и получение данных

  1. UI слой - выпадающие с опциями для фильтрации данных, которые будут показаны

  2. Середина слоя - «.cs» классы для управления данными

  3. подкладочный слой - здесь данные фильтруется и возвращается в классы (EDMX файл и классов)

Однако моя реализация не работает ... ошибка отображается как «Reference для различных контекстов» ..

protected void Page_Load(object sender, EventArgs e) 
{ 
    inc = (IQueryable<Incident_Raw_Data>)Session["INC"]; 
    AppInfo = (IQueryable<Application_Info>)DbData.GetDBData().AppInfo; 
    RespConfg = (IQueryable<Response_Config>)DbData.GetDBData().RespConfig; 
    ResolConfg = (IQueryable<Resolution_Config>)DbData.GetDBData().ResolConfig; 

    DTbl = QueryRslt(xyz, abc); 
    Data = GetData(); 
    Cols = Col(); 
} 

Ничего любые возвращаемые заявления отсутствует ;;

public DataTable QueryRslt(string Type, string Value) 
{ 
    if (!string.IsNullOrEmpty(Type)) 
    { 
     var str = (from IR in inc 
        join AI in AppInfo on IR.CI equals AI.Application_Name 
        join RC in RespConfg on AI.Service_Level_Categoty equals RC.Category 
        where (RC.Tkt_Type == "Incident" && IR.Priority == Value) 
        select new 
        { 
         ID = IR.Incident_ID, 
         CI = IR.CI, 
         Status = IR.Status, 
         BenchMark_Response_Time = RC.Days_Benchmark, 
         SLMDeviation = ((EntityFunctions.DiffHours(IR.Incident_Reported_Date, IR.Incident_Responded_Date)/24.0) - RC.Days_Benchmark), 
         Priority = IR.Priority, 
         ReportedDate = IR.Incident_Reported_Date, 
         RespondDate = IR.Incident_Responded_Date, 
         AssigneeGroup = IR.Assignee, 
         AssignedGroup = IR.Assigned_Group 
        }).ToList(); 
    } 
} 
+0

Вам следует практиковать, чтобы избежать хранения таблиц или больших данных в сеансе. –

+0

См. Http://stackoverflow.com/questions/7024100/linq-expression-that-contains-references-to-queries-that-are-associated-with-dif – aquaraga

ответ

2

Похоже, вы пытаетесь объединить различные контексты данных. Это не поддерживается.

Вы также должны инстанцировать объект контекста данных, когда он вам нужен, а не хранить его в сеансе, так как я предполагаю, что вы dooing с «INC».

inc, APPInfo и RestConf не должны собираться из разных экземпляров контекста данных.

Смежные вопросы