Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 无法将lambda表达式转换为Func<;T、 TResult>;在尝试绕过IQueryable时<;T>;_C#_Linq_Entity Framework 4_Linq To Entities_Wcf Data Services - Fatal编程技术网

C# 无法将lambda表达式转换为Func<;T、 TResult>;在尝试绕过IQueryable时<;T>;

C# 无法将lambda表达式转换为Func<;T、 TResult>;在尝试绕过IQueryable时<;T>;,c#,linq,entity-framework-4,linq-to-entities,wcf-data-services,C#,Linq,Entity Framework 4,Linq To Entities,Wcf Data Services,所以我早些时候发布了这个 我一直在为Silverlight开发AsyncRepo,所以我只是被困在一个小地方 该代码仅用于解释…滚动至底部查看罪犯代码 我对回购的定义如下: public interface IAsyncRepository<T> where T : class { void GetById(int id, Action<T> callback); void GetAllFromQuery(Func<MyEntities, IQue

所以我早些时候发布了这个

我一直在为Silverlight开发AsyncRepo,所以我只是被困在一个小地方

该代码仅用于解释…滚动至底部查看罪犯代码

我对回购的定义如下:

public interface IAsyncRepository<T> where T : class
{
    void GetById(int id, Action<T> callback);
    void GetAllFromQuery(Func<MyEntities, IQueryable<Product>> funcquery, Action<IList<Calculator>> callback)
}
    public void GetById(int id, Action<Product> callback)
    {
        MyEntities dat = new MyEntities(new Uri(..url..));
        var query = from c in dat.Products where c.ID == id select c;//WATCH THIS
        allQuery = new DataServiceCollection<Product>(dat);
        allQuery.LoadAsync(query);
        allQuery.LoadCompleted += (obj, evt) =>
            {
                if (allQuery == null)
                {
                    callback(null);
                }
                else
                {
                    callback(allQuery.FirstOrDefault());
                }
            };
    }
        repo.GetAllFromQuery(
            x => from p in x.Products where p.ID > 5 select p,
            y => Assert.IsTrue(y.Count > 0));
这给了我:

无法从“lambda表达式”转换为System.Func'


我会真正尊重给我任何解决方案的人。这给了我一整天的时间

编辑:好的,现在打字错误已经纠正了,试试非查询版本(我认为这更简单):


编辑:好的,现在打字错误已经纠正了,试试非查询版本(我认为它更简单):


阿格!很抱歉这是一个错误的简化。。。打字错误修正。当我在visual studio中悬停
p
时,它会给我
?范围变量
而不是巧妙地计算类型。@giddy:MyEntities.Products的类型是什么?非查询版本有效吗?不!还没有运气。当我输入x.Products时。。在那之前我都有智能感知。。在那之后,intellisense进行了一次折腾。但是没有。还是给我同样的错误。我是不是弄脏了这些类型。。或者定义错误..@giddy:您是否缺少使用System.Linq的
位于包含此代码的文件的顶部?当您尝试编译非查询版本时,错误消息是什么?@jon yes。我确实有
System.Ling
…错误(1)无效参数。。。(2) 无法将lambda表达式转换为。。。。(与之前相同的错误没有更改)可能是此调用在Silverlight测试应用程序中,而我没有对Entity Frameworkarg的引用!很抱歉这是一个错误的简化。。。打字错误修正。当我在visual studio中悬停
p
时,它会给我
?范围变量
而不是巧妙地计算类型。@giddy:MyEntities.Products的类型是什么?非查询版本有效吗?不!还没有运气。当我输入x.Products时。。在那之前我都有智能感知。。在那之后,intellisense进行了一次折腾。但是没有。还是给我同样的错误。我是不是弄脏了这些类型。。或者定义错误..@giddy:您是否缺少使用System.Linq的
位于包含此代码的文件的顶部?当您尝试编译非查询版本时,错误消息是什么?@jon yes。我确实有
System.Ling
…错误(1)无效参数。。。(2) 无法将lambda表达式转换为。。。。(与之前相同的错误没有更改)可能是此调用在Silverlight测试应用程序中,我没有实体框架点的参考,任何人都可以对此设计发表评论,无论是ok还是I可以做得更好。任何人都可以对此设计发表评论,无论是ok还是I可以做得更好。
        repo.GetAllFromQuery(
            x => from p in x.Products where p.ID > 5 select p,
            y => Assert.IsTrue(y.Count > 0));
repo.GetAllFromQuery(
    x => x.Products.Where(p => p.ID > 5),
    y => Assert.IsTrue(y.Count > 0));