問題タブ [pomelo-entityframeworkcore-mysql]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - Web API コントローラーでメソッドを呼び出すときのエラー - .Net Core 1.1 / EF 1.1
数時間前に質問を投稿しましたが、会議に行く前に急いで質問を投稿したため、間違ったことを投稿しました。削除しましたが、正しいバージョンは次のとおりです。
Pomelo を使用して MySQL データベースに接続する EF Core 1.1 を使用して、.Net Core 1.1 Web API を開発しています。正しく接続されますが、特定のレコードを読み取ろうとすると:
http://localhost:50082/api/houses/3
次のエラーが表示されます。
リクエストの処理中に未処理の例外が発生しました。ArgumentOutOfRangeException: インデックスが範囲外でした。負ではなく、コレクションのサイズより小さくなければなりません。パラメータ名: index System.ThrowHelper.ThrowArgumentOutOfRange_IndexException()
これが私のコントローラーの外観です。
エラーは次の行で発生します。
House は、データベース内の対応するテーブルに一致する単なる標準クラスです。そして、データベースには ID = 3 の家があり、家は 1 つだけです。
このエラーが発生する理由はありますか?
アップデート:
エラーの完全な StackTrace は次のとおりです。
Microsoft.EntityFrameworkCore.ChangeTracking.Internal.InternalMixedEntityEntry..ctor(IStateManager stateManager、IEntityType entityType、オブジェクト エンティティ、ValueBuffer valueBuffer) で Microsoft.EntityFrameworkCore.ChangeTracking.Internal.InternalEntityEntryFactory.NewInternalEntityEntry(IStateManager stateManager、IEntityType entityType、オブジェクト エンティティ、ValueBuffer valueBuffer) で Microsoft.EntityFrameworkCore.ChangeTracking.Internal.InternalEntityEntryFactory.Create(IStateManager stateManager、IEntityType entityType、オブジェクト エンティティ、ValueBuffer valueBuffer) Microsoft.EntityFrameworkCore.ChangeTracking.Internal.StateManager で。StartTrackingFromQuery(IEntityType baseEntityType, Object entity, ValueBuffer valueBuffer, ISet
1 handledForeignKeys) at Microsoft.EntityFrameworkCore.Query.Internal.EntityTrackingInfo.StartTracking(IStateManager stateManager, Object entity, ValueBuffer valueBuffer) at Microsoft.EntityFrameworkCore.Query.Internal.QueryBuffer.StartTracking(Object entity, EntityTrackingInfo entityTrackingInfo) at Microsoft.EntityFrameworkCore.Query.Internal.AsyncLinqOperatorProvider.<>c__DisplayClass16_0
2.<_TrackEntities>b__0(TOut result) at Microsoft.EntityFrameworkCore.Query.Internal.AsyncLinqOperatorProvider.SelectAsyncEnumerable2.SelectAsyncEnumerator.<MoveNext>d__4.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Microsoft.EntityFrameworkCore.Query.Internal.AsyncLinqOperatorProvider.ExceptionInterceptor
1.EnumeratorExceptionInterceptor.d__5.MoveNext() --- 例外がスローされた前の場所からのスタック トレースの終わり --- システムで.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) で System.Runtime.CompilerServices.TaskAwaiter`1.GetResult() で InspectionsWebApi.Controllers.HousesController.d__4.MoveNext() C:\Users\fabsr\Source\Repos\InspectionsWebApi\InspectionsWebApi\Controllers\HousesController.cs:46 行目
entity-framework-core - HiLo を使用して Pomelo.EntityFrameworkCore.MySql でキーを生成するにはどうすればよいですか?
microsoft.entityframeworkcore.sqlserver には ForSqlServerUseSequenceHiLo 拡張メソッドがあり、HiLo を使用して Entity Framework Core でキーを生成できます。HiLo を使用して Pomelo.EntityFrameworkCore.MySql でキーを生成するにはどうすればよいですか?