あなたの問題は
ですコードの代わりに、この方法を試してください
編集:
query.Include("User").Include("Region").Include("Category").ToList();
この変更後に同じエラーが発生した場合は、お知らせください。
更新:
私はあなたのためにいくつかのことを変更しましたあなたの方法の代わりにこのコードを使用してください
public virtual IEnumerable<TEntity> Get(
Expression<Func<TEntity, bool>> filter = null,
Func<IQueryable<TEntity>, IOrderedQueryable<TEntity>> orderBy = null,
string includeProperties = "")
{
IQueryable<TEntity> query = _dbSet;
if (filter != null)
{
query = query.Where(filter);
}
if (orderBy != null)
{
return orderBy(query.Include("User").Include("Region").Include("Category").ToList()).ToList();
}
else
{
return query.Include("User").Include("Region").Include("Category").ToList();
}
}
更新2:
そして、スタックオーバーフローは多くの人々があなたの質問の解決策を手に入れました
1: Entity Framework:このコマンドに関連付けられた開いているDataReaderがすでにあります
2:回避する方法「この接続に関連付けられた開いているDataReaderがすでにあり、最初に閉じる必要があります。」 MySql / netコネクタで?
3:エラー:このコマンドに関連付けられた開いているDataReaderがすでにあり、最初に閉じる必要があります
私の個人的なアドバイスですが、時間とエネルギーが無駄になるため、このエラーにこれ以上時間を費やすことはないと思います。手動クエリを使用してそれを行うことができます。ですから、さまざまな方法を試してください。
input string was not correct format
を回避するために、分割および書式設定クエリは必要ありません エラー
return query.ToList();
の代わりに、この方法を実行できます。
return _dbSet.Users
.Include(x => x.Region)
.Include(x => x.Category).ToList();
上記のSO
を使用して実行できると思います リンクの。
そして私の主な質問は: