首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有没有方法在实体框架中的IQueryable对象的选择新部分中调用none LINQ方法?

有没有方法在实体框架中的IQueryable对象的选择新部分中调用none LINQ方法?
EN

Stack Overflow用户
提问于 2013-10-26 19:49:58
回答 2查看 204关注 0票数 0

在以下内容中声明IQueryable<T>对象时,我遇到了这个问题:

代码语言:javascript
复制
select new { };

当我想调用非LINQ方法(如Tostring()或其他函数)时,部分如下所示:

代码语言:javascript
复制
select new
{
    TFPricep = CurrancyHelper.DecimalToCurrency(TFPrice),
    TFDatep = TFDate.Tostring()
};

我收到一条著名的错误信息,上面写着:

LINQ实体不识别“foo”方法。

因此,我执行一个ToList()并从数据库中获取数据,之后我必须对列表执行一个foreach循环,并在每个具有性能问题的列表记录上调用函数,如ToString()等。据我所测试,LINQ中没有这样的问题,但是这个问题在Entity Framework中仍然存在。

我想知道是否有任何方法在查询时调用无LINQ方法,并防止对每个循环执行这种方法?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-10-26 19:52:50

不是

票数 0
EN

Stack Overflow用户

发布于 2013-10-27 03:47:31

当我面对这个问题时,我找到了两个可能的解决方案,但最终决定避免使用Linq对实体无法转换的任何内容。

我找到了两个选择:

1)如果您使用的是.edmx文件,请查看以下内容:http://msdn.microsoft.com/en-us/library/vstudio/dd456857(v=vs.110).aspx

2)另一个选项有点丑,但不需要.edmx文件:

http://damieng.com/blog/2009/06/24/client-side-properties-and-any-remote-linq-provider https://www.nuget.org/packages/Microsoft.Linq.Translations/ https://github.com/peschuster/PropertyTranslator

最后一条评论:我从来没有尝试过这些选择,所以我不能百分之百地肯定它们是否有效,但它们似乎是合法的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19611150

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档