0

我有一些方法,例如:

public static string ToOtherFormat (this string inp)
{
  // some code to change inp
  return inp;
}

在我的选择中,我想要这样的代码:

var DetailMembers = db.TB_Members
                      .Where(x=> x.FName == obj.ToOtherFormat())
                      .Select( x=> new { name = (x.FName.ToOtherFormat() + " " + x.LName) , x.ActCode });

我试着只是有错误。可能吗?
谢谢!
我在简单转换为整数时收到此错误

LINQ to Entities 无法识别方法“Int32 ToInt32(System.String)”方法,并且该方法无法转换为存储表达式。

使用此代码

 .Where(x => x.MemberID == Convert.ToInt32(Hmemid.Hash_two_Decrypt())
4

2 回答 2

1

看起来您正在查询数据库。您当前的查询将被转换为 SQL 查询,并且由于 SQL 无法识别您的函数,这就是您出错的原因。

您可以使用没有该功能的查询从表中获取数据,然后稍后对结果集进行格式化。

于 2012-09-14T11:55:13.787 回答
0

我在使用.AsEnumerable()方法上找到了它,例如:

var DetailMembers = db.TB_Members.AsEnumerable()
                      .Where(x=> x.FName == obj.ToOtherFormat())
                      .Select( x=> new { name = (x.FName.ToOtherFormat() + " " + x.LName) , x.ActCode });
于 2012-10-11T19:03:06.513 回答