Linq 和 Oracle 的奇怪转换错误
我在使用 Linq 到使用 Oracle 填充的 DataTable 时遇到强制转换错误。
bool isTrue = DataTable.AsEnumerable().Any
(x => x.Field<int>("MYNUMBERFIELD") == MYNUMBER);
在 SQL 中,这可以正常工作。在 Oracle 中,由于转换错误而失败。在 C# 代码中,当您执行以下操作时,也会发生同样的情况:
int myint = (int)VariableRetrievedFromOracleDB;
如果将其更改为 int myint = Convert.ToInt32(VariableRetrievedFromOracleDB)
,则它可以正常工作。
有什么想法如何用 lambda 处理这个问题吗?
I am getting a cast error with Linq to a DataTable that was populated with Oracle.
bool isTrue = DataTable.AsEnumerable().Any
(x => x.Field<int>("MYNUMBERFIELD") == MYNUMBER);
In SQL this works fine as expected. In Oracle is fails with a cast error on the cast. In C# code the same thing happens when you do the following:
int myint = (int)VariableRetrievedFromOracleDB;
If you change it to int myint = Convert.ToInt32(VariableRetrievedFromOracleDB)
it works fine.
Any ideas how to handle this with the lambda?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)