Странная ошибка приведения с Linq и Oracle - PullRequest
0 голосов
/ 24 сентября 2010

Я получаю ошибку приведения с Linq к DataTable, заполненному Oracle.

bool isTrue = DataTable.AsEnumerable().Any
      (x => x.Field<int>("MYNUMBERFIELD") == MYNUMBER);

В SQL это работает нормально, как и ожидалось. В Oracle происходит сбой с ошибкой приведения. В коде C # то же самое происходит, когда вы делаете следующее:

int myint = (int)VariableRetrievedFromOracleDB;

Если вы измените его на int myint = Convert.ToInt32(VariableRetrievedFromOracleDB), он будет работать нормально.

Есть идеи, как справиться с этим с помощью лямбды?

1 Ответ

2 голосов
/ 24 сентября 2010
bool isTrue = 
    DataTable.AsEnumerable()
             .Any(x => Convert.ToInt32(x.Field("MYNUMBERFIELD")) == MYNUMBER);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...