linq and asp.net mvc


   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)

现在正在维护员工或位置的标志,如果员工为 null,那么它将返回标志 true,结果将为 1==1 对于员工来说也是如此,但收到以下错误"mscorlib 中发生了类型为'System.NotSupportedException'的异常.dll但未在用户代码中处理

其他信息:无法创建类型为"System.Collections.Generic.List"1[[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]的空常量值。在此上下文中,仅支持实体类型、枚举类型或基元类型。

我想你在问这行代码

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

应该写成

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

其中||意味着or.

最新更新