2017-02-09 56 views
0
bool flagemployee = employee == null ? true : false; 
     bool flagcompany = company == null ? true : false; 
     bool flaglocation = location == null ? true : false; 
     bool flagdivision = division == null ? true : false; 
     bool flagdepartment = department == null ? true : false; 
     bool flagdesignation = designation == null ? true : false; 
     bool flaggrade = grade == null ? true : false; 
     bool flaggrop = grop == null ? true : false; 
     bool flagcategory = category == null ? true : false; 


     try{ 
     var obj = (from epd in dev.ENT_EMPLOYEE_PERSONAL_DTLS 
        join eod in dev.ENT_EMPLOYEE_OFFICIAL_DTLS on epd.EPD_EMPID equals eod.EOD_EMPID 
        join com in dev.ENT_COMPANY on eod.EOD_COMPANY_ID equals com.COMPANY_ID 
        join loc in dev.ENT_ORG_COMMON_ENTITIES on new { X1 = eod.EOD_LOCATION_ID, X2 = "LOC" } equals new { X1 = loc.OCE_ID, X2 = loc.CEM_ENTITY_ID } 
        join div in dev.ENT_ORG_COMMON_ENTITIES on new { X1 = eod.EOD_DIVISION_ID, X2 = "DIV" } equals new { X1 = div.OCE_ID, X2 = div.CEM_ENTITY_ID } 
        join dep in dev.ENT_ORG_COMMON_ENTITIES on new { X1 = eod.EOD_DEPARTMENT_ID, X2 = "DEP" } equals new { X1 = dep.OCE_ID, X2 = dep.CEM_ENTITY_ID } 
        join des in dev.ENT_ORG_COMMON_ENTITIES on new { X1 = eod.EOD_DESIGNATION_ID, X2 = "DES" } equals new { X1 = des.OCE_ID, X2 = des.CEM_ENTITY_ID } 
        join grd in dev.ENT_ORG_COMMON_ENTITIES on new { X1 = eod.EOD_GRADE_ID, X2 = "GRD" } equals new { X1 = grd.OCE_ID, X2 = grd.CEM_ENTITY_ID } 
        join grp in dev.ENT_ORG_COMMON_ENTITIES on new { X1 = eod.EOD_GROUP_ID, X2 = "GRP" } equals new { X1 = grp.OCE_ID, X2 = grp.CEM_ENTITY_ID } 
        join cat in dev.ENT_ORG_COMMON_ENTITIES on new { X1 = eod.EOD_CATEGORY_ID, X2 = "CAT" } equals new { X1 = cat.OCE_ID, X2 = cat.CEM_ENTITY_ID } 
        where 
        flagemployee ? 1 == 1 : employee.Contains(epd.EPD_EMPID) 
        && flagcompany == true ? 1 == 1 : company.Contains(eod.EOD_COMPANY_ID) 

現在正在爲員工或位置maintaning標誌,如果員工爲null,則它會返回標誌真實,結果將是1 == 1相同的員工也,但得到以下錯誤「的一個例外類型'System.NotSupportedException'發生在mscorlib.dll中,但未在用戶代碼中處理LINQ和asp.net的MVC

其他信息:無法創建類型爲「System.Collections.Generic.List`1的空常量值[[System.String, mscorlib,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089]]'。在此上下文中只支持實體類型,枚舉類型或基本類型。

回答

0

我想你問這行代碼

(location.i ==null? 1==1 : location.Contains(eod.EOD_LOCATION_ID)) 

應寫爲

(location.i == null || location.Contains(eod.EOD_LOCATION_ID)) 

其中||意味着or