我有以下代码:
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)'方法,并且此方法无法转换为商店表达式。