我有一个名为Foos
的数据库表,其中包含foo
类型的记录。我有另一个名为Bars
的表,其中包含bar
类型的记录。我正在尝试在数据库中查询集合foos
,并将该集合放在bar
类型的记录中。
这样的事情:(foo
和bar
都是在第三方库中定义的,我可以检查元数据,但我无法改变它们。
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
?
答案 0 :(得分:1)
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处进行一次骚扰。