Ich vor kurzem auf asp.net Core 2.0 aktualisiert. Da das Upgrade aller Linq-Abfragen mit der Include-Methode fehlschlägt, wird es nicht ordnungsgemäß in SQL übersetzt.EF Core Include-Methode funktioniert nicht
Zum Beispiel diese:
var entities = helpTopicRepository.Entities.Include(x => x.HelpArticles).FirstOrDefault(t => topicIds.Any(a => a == t.Id));
wird übersetzt:
SELECT x.HelpArticles.ART_ID,
x.HelpArticles.AVAILABLE,
x.HelpArticles.CONTENT,
x.HelpArticles.DISPLAYORDER,
x.HelpArticles.HELPFULNO,
x.HelpArticles.HELPFULYES,
x.HelpArticles.KEYWORDS,
x.HelpArticles.TITLE,
x.HelpArticles.TOPICID
FROM HELPARTICLE x.HelpArticles
die Ergebnisse in der folgenden Fehler ist:
Devart.Data.Oracle.OracleException (0x80004005): ORA-00933: SQL
command not properly ended at Devart.Data.Oracle.ay.b() at Devart.Data.Oracle.am.f() at Devart.Data.Oracle.am.e() at Devart.Data.Oracle.c5.a(am A_0, Int32 A_1) at Devart.Data.Oracle.c5.a(Int32 A_0, bg A_1) at Devart.Data.Oracle.OracleCommand.InternalExecute(CommandBehavior behavior, IDisposable disposable, Int32 startRecord, Int32 maxRecords, Boolean nonQuery) at Devart.Common.DbCommandBase.ExecuteDbDataReader(CommandBehavior behavior, Boolean nonQuery) at Devart.Data.Oracle.Entity.ai.a(CommandBehavior A_0) at Devart.Common.Entity.cj.d(CommandBehavior A_0) at Devart.Data.Oracle.Entity.ai.b(CommandBehavior A_0) at System.Data.Common.DbCommand.ExecuteReader() at Microsoft.EntityFrameworkCore.Storage.Internal.RelationalCommand.Execute(IRelationalConnection connection, DbCommandMethod executeMethod, IReadOnlyDictionary
2 parameterValues) at Microsoft.EntityFrameworkCore.Storage.Internal.RelationalCommand.ExecuteReader(IRelationalConnection connection, IReadOnlyDictionary
2 parameterValues) at Microsoft.EntityFrameworkCore.Query.Internal.QueryingEnumerable1.Enumerator.BufferlessMoveNext(Boolean buffer) at Microsoft.EntityFrameworkCore.Query.Internal.QueryingEnumerable
1.Enumerator.MoveNext() at Microsoft.EntityFrameworkCore.Query.Internal.QueryBuffer.IncludeCollection(Int32 includeId, INavigation navigation, INavigation inverseNavigation, IEntityType targetEntityType, IClrCollectionAccessor clrCollectionAccessor, IClrPropertySetter inverseClrPropertySetter, Boolean tracking, Object entity, Func1 relatedEntitiesFactory) at lambda_method(Closure , QueryContext , Client , Object[]) at Microsoft.EntityFrameworkCore.Query.Internal.IncludeCompiler._Include[TEntity](QueryContext queryContext, TEntity entity, Object[] included, Action
3 fixup) at lambda_method(Closure , Client) at System.Linq.Enumerable.SelectEnumerableIterator2.MoveNext() at System.Linq.Enumerable.SingleOrDefault[TSource](IEnumerable
1 source) at lambda_method(Closure , QueryContext) at Microsoft.EntityFrameworkCore.Query.Internal.QueryCompiler.<>c__DisplayClass17_0`1.b__0(QueryContext qc) ORA-00933: SQL command not properly ended
Ich verwende Devart dotConnect zu verbinden Oracle-Datenbank.
Das gleiche passiert hier, mit dem jüngsten Update auf .net-Core 2.0. Bitte lassen Sie mich Ihre Lösung wissen, wenn Sie es gerade bekommen haben. – rsbavaresco
Es ist ein devartes Problem, sie arbeiten an einer Lösung. – capiono