2013-04-25 98 views
0

我在EF4中使用动态LINQ查询。EF中的动态LINQ查询

下面的代码会引发错误:'New'无法解析为有效的类型或函数。

var x = ent.OM_COMPANY 
    .Where(qry) 
    .OrderBy("it.CM_CODE") 
    .Select("New(it.CM_CODE, it.CM_NAME)"); 

我在做什么错?

下面的代码无任何错误地执行。

var x = from cmp in ent.OM_COMPANY 
     where (qry) 
     orderby cmp.CM_CODE 
     select new { cmp.CM_CODE, cmp.CM_NAME }; 
+0

什么用'新{C1 = cmp.CM_CODE,C2 = cmp.CM_NAME}' – tschmit007 2013-04-25 09:54:33

+0

@ tschmit007对不起,我张贴的问题wrong.I've更新now.Please检查。 – sjj 2013-04-25 10:16:27

回答

0

我甚至不知道如何得到第一个代码块来编译。 OrderBySelect都采用lambdas而不是字符串。应该写成:

var x = ent.OM_COMPANY 
    .Where(qry) 
    .OrderBy(c => c.CM_CODE) 
    .Select(c => c.CM_CODE, c.CM_NAME);