无法将类型为 DataServiceOrderedQuery 的对象转换为类型 Microsoft.OData.Client.DataServiceCollection

Unable to cast object of type DataServiceOrderedQuery to type Microsoft.OData.Client.DataServiceCollection

我有一个名为 Foos 的数据库 table,其中包含 foo 类型的记录。我有另一个名为 Bars 的 table,它包含 bar 类型的记录。我正在尝试在数据库中查询集合 foos 并将该集合放入 bar.

类型的记录中

像这样:(foobar 都在第 3 方库中定义,我可以检查元数据,但无法更改它们)

public class bar (from metadata)
{
    public DataServiceCollection<foo> Foos { get; set; }
}

private void SaveSomeFoos()
{        
    var bar = Container.Bars.Where(x => x.someProperty == someRequirement).First();
    bar.Foos = Container.Foos.Where(x => x.someProperty == someRequirement);

    Container.SaveChanges();
}

当我尝试将第二个查询的结果分配给 bar.Foos 时,出现错误

Unable to cast object of type DataServiceOrderedQuery to type Microsoft.OData.Client.DataServiceCollection

如何将 Container.Foos.Where(x => x.someProperty == someRequirement) 的结果分配给 bar.Foos

bar.Foos = Container.Foos.Where(x => x.someProperty == someRequirement);

应改为:

bar.Foos = new DataServiceCollection<Foo>(Container.Foos.Where(x => x.someProperty == someRequirement));

也可以在 https://msdn.microsoft.com/en-us/library/ee652823(v=vs.110).aspx 进行测验。