-1
スロー私の関数を作っているものを把握するために私を助けてください。作業リポジトリパターン</p> <p>民間のUnitOfWorkのUnitOfWork =新しいUnitOfWorkの()の単位を使用して
private Entities _Entities = new Entities();
var filing_xml = unitOfWork.T_FILING_XMLRepository.Get().Where(a =>
a.filing_id == filingID).FirstOrDefault();
これは
var filing_xml = _Entities.T_FILING_XML.Where(a => a.filing_id == filingID).FirstOrDefault();
これは、データに
を取得するために約2秒を取っているデータをフェッチするために約10秒を取っているが速く、作業の単位を作るためにどんな解決策はありますか?
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);
}
foreach (var includeProperty in includeProperties.Split
(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries))
{
query = query.Include(includeProperty);
}
if (orderBy != null)
{
return orderBy(query).ToList();
}
else
{
return query.ToList();
}
}
作業クラスのユニット
public GenericRepository<T_FILING_XML> T_FILING_XMLRepository
{
get
{
if (this.t_filing_xmlRepository == null)
{
this.t_filing_xmlRepository = new GenericRepository<T_FILING_XML>(context);
}
return t_filing_xmlRepository;
}
}
「パターン」がSPを遅くしていません。 UOWクラスを投稿してください。 – mxmissile
こんにちはmxmissile .. UOWクラスを追加したコードを更新しました – user6392608
ケース#2(2秒かかるもの)については、filling_idカラムにインデックスがあるかどうか確認できますか?既にSQLプロファイラを使用している場合は、SQLプロファイラを使用してSQLを投稿できますか? –