加入Asp.net中的两个动态Linq

时间:2017-09-07 04:50:50

标签: asp.net linq

我用linq存储数据,下面是代码:

 var result = (dynamic)null;
 var serviceData = (dynamic)null;
 var userData = (dynamic)null;

 /****Linq 1*****/
serviceData= dtPasscode.AsEnumerable().Select(m => new
{
  ACCOUNT_ID = intAccountId,
  SUB_ACC_ID = m.Field<string>("ACCOUNT_ID_ALIAS")
});

/**Linq 2**/
userData = DisplyCustomerDetails(Convert.ToInt64(strSubAccountID));

result = serviceData.Concat(userData);

另一个linq通过功能:

/**Function**/

System.Data.EnumerableRowCollection DisplyCustomerDetails(Int64 intAccountId)
    {
        var result = (dynamic)null;

        /** Data Display if no service avaiable **/
        IAccount_BL objAccount_BL = new Account_BL();
        Customer objCustomer = new Customer();
        DataTable dtCustomer = null;
        int intErrorCount = 0;


        objCustomer.Account_Id = Convert.ToInt64(intAccountId);

        dtCustomer =  objAccount_BL.GetCustomerDetails(objCustomer, ref intErrorCount);

        objAccount_BL = null;
        objCustomer = null;
        if (intErrorCount == 0)
        {
            if (dtCustomer != null)
            {
                if (dtCustomer.Rows.Count > 0)
                {

                    result = dtCustomer.AsEnumerable().Select(m => new
                    {
                        ACCOUNT_ID = intAccountId,
                        SUB_ACC_ID = m.Field<string>("ACCOUNT_ID_ALIAS")
                    });

                }
            }
        }

       return result;
    }

我想加入Linq1&amp;的结果。 Linq2,我累了Concat&amp;联盟,低于错误

'System.Data.EnumerableRowCollection&LT;&LT;&GT; f__AnonymousTypea&GT;'不包含'Concat'的定义

1 个答案:

答案 0 :(得分:2)

Concat,两个枚举必须属于同一类;你不能使用匿名类。定义一个具有两个字段的类,并将代码更改为Select

另外,请勿使用... = (dynamic) null;只是直接分配变量

var serviceData= dtPasscode ...
var userData = DisplyCustomerDetails ...
var result = serviceData.Concat(userData);