C#   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了c# – subQuery中的LINQ-to-SQL和Extension方法大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我的扩展方法是:

public static IEnumerable<T> FilterCultureSubQuery<T>(this Table<T> t)
    where T : class
    {
      return t;
    }

我试在这查询中使用它

var test = from p in t.Products
             SELEct new
             {
               Allo = p,Allo2 = (from pl in t.ProductLocales.FilterCultureSubQuery()
                        SELEct pl)
             };

什么应该是我的方法扩展的签名?我总是得到这个错误

Method 'System.Collections.Generic.IEnumerable`1[ProductLocale] FilterCultureSubQuerY[ProductLocale](System.Data.Linq.Table`1[ProductLocale])' has no supported translation to sql.

我也试过这个签名:

public static IQueryable<T> FilterCultureSubQuery<T>(this Table<T> t)
    where T : class
    {
      return t;
    }

我收到了这个错误

Method 'System.Linq.IQueryable`1[ProductLocale] FilterCultureSubQuerY[ProductLocale](System.Data.Linq.Table`1[ProductLocale])' has no supported translation to sql.

谢谢

解决方法

方法的签名很好.问题是,如上所述,它“没有支持sql转换”.

DLINQ正在尝试将该语句转换为将发送到数据库sql行.该方法没有翻译.

我建议使用Where子句重写过滤器.

大佬总结

以上是大佬教程为你收集整理的c# – subQuery中的LINQ-to-SQL和Extension方法全部内容,希望文章能够帮你解决c# – subQuery中的LINQ-to-SQL和Extension方法所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。