函数调用IQueryable的Select Anonymous对象

时间:2015-08-19 15:22:31

标签: c# linq entity-framework linqkit

我有以下代码:

 Expression<Func<int, string>> myStatusCode = (t) =>  PluginApplication.Types.ToTypeName(t); 
        var model =_context.UsersRepository.Include("Emails").Include("Website").
                        Include("UserDetail").Include("Profile").AsExpandable().Where(t => t.TypeId == (UserType)10017).Select(t=> new
                    {
                        UserId = t.UserId,
                        UserName = t.UserName,
                        ChatName = t.ChatName,
                        Email = t.Emails.FirstOrDefault(z => z.TypeId == EmailType.Main).EmailAddress,
                        LastLoginDate = t.LastLoginDate,
                        StatusId = t.StatusId,
                        Website = t.SignedUpOnWebsite.ShortName,
                        StatusCode = myStatusCode.Invoke((int)t.StatusId)

                    });

这里我正在使用LinqKit这似乎可以帮助我在选择一些没有Take expresion AsEnumerable的数据时调用一个方法。如果我放置ToList或AsEnumerable,会运行良好,但我不想这样做。我想找一些东西来避免错误:

  

LINQ to Entities无法识别方法'PluginApplication.Types.ToTypeName(System.Int32)'方法,并且此方法无法转换为商店表达式。

0 个答案:

没有答案