gpt4 book ai didi

c# - 类型为 'System.InvalidCastException' 的未处理异常

转载 作者:搜寻专家 更新时间:2023-10-30 23:01:54 24 4
gpt4 key购买 nike

我的 C# VS2015 应用程序抛出此异常:

System.InvalidCastException was unhandled

Message=Unable to castobject of type'System.Data.Entity.Infrastructure.DbQuery`1[ADONET4LINQtoENTITIES.Customer]'to type 'System.Data.Objects.ObjectQuery'.
Source=ADONET4LINQtoENTITIES

错误发生在定义查询变量的行:

var customers = from c in de.Customers
where c.Orders.Any(o => o.OrderAmount > 150)
select c;

string query = ((ObjectQuery)customers).ToTraceString();

我的假设是 ObjectQuery 正在提示异常。

我尝试了 string query = ((DbQuery)customers).ToString(),它在 VS2013 中有效,但这导致了同样的异常。

为什么 VS2015 使用这些查询方法会抛出异常?

最佳答案

因为 Customers不是 ObjectQuery你想要的是 ObjectQuery<Customer>所以也删除投影(Select)。

更改为

var CustomersQuery= from c in de.Customers
where c.Orders.Any(o => o.OrderAmount > 150);

string query = CustomersQuery.ToTraceString();

我通过命名 CustomersQuery 消除了命名词汇歧义.

参见 ObjectQuery.ToTraceString Method (System.Data.Objects)获取更多信息。

关于c# - 类型为 'System.InvalidCastException' 的未处理异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31597539/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com