Oracle.ManagedDataAccess.EntityFramework 6.122.1.0 ライブラリは、MVC ASP.Net アプリケーションから Oracle データベースにアクセスするために使用されます。これは、2017 年 11 月 14 日の NuGet の最新ライブラリ バージョンです。
protected override Expression<Func<MyEntity, object>> getSelector()
{
return m => new
{
ID = m.ID,
NAME = m.Name,
LONGSTRING = "Blah-blah-blah-blah...some thousands characters..." +
m.ID + "blah-blah...blah"
};
}
protected override ProblemMethod()
{
var result = db.MyEntity.Select(getSelector()).ToList();
}
問題があります。これは、非常に長い文字列 (数千文字) が に連結され LONGSTRING
、 を実行するとSelect
次の例外がスローされるためです。
ORA-00932: 一貫性のないデータ型: "'expected CLOB got CHAR"
私のクラスはオーバーライドを取得Expression
する必要があります。GetSelector()
エラーを克服する方法、または回避する方法は? Select
回避する 1 つの方法は、クライアントでEF を強制的に実行することです。どうやってするの?
PS:ロシア語で同じ質問です。
アップデート
MyEntityを提示する必要があります
CREATE TABLE MyEntity (ID NUMBER(10), Name VARCHAR2(100));