例如我有IRepository
,由Repository
與一些攔截器實現。在具體類中調用代理方法的正確方法是什麼?
在攔截器內部,我看到IRepositoryProxy
基類型是Object
而不是Repository
。
例如:我解決IRepository
並調用GetFunctionalityPurposes
, 我要的是調用GetAllFunctionalityPurposes
要還緩存/代理。
這不起作用,因爲方法在Repository
中調用,但不是IRepositoryProxy
。
IRepository
FunctionalityPurpose[] GetFunctionalityPurposes();
FunctionalityPurpose[] GetAllFunctionalityPurposes()
庫
[Cached("Tender")]
public virtual FunctionalityPurpose[] GetFunctionalityPurposes()
{
var model = GetAllFunctionalityPurposes()
.Where(r => !r.IsHidden && !r.GroupId.HasValue);
return model;
}
[Cached("Tender", "FunctionalityPurpose")]
public virtual FunctionalityPurpose[] GetAllFunctionalityPurposes()
{
var model = UnitOfWork.GetSet<Model>().Select(f => f.FunctionalityPurpose)
.Distinct().OrderBy(r => r.Id).ToArray();
return model;
}
這將是最好是展示解釋問題的一些代碼。 –
@ L-Three增加了一些代碼來說明問題 – xumix
@PhilDegenhardt耶,看起來像相同 – xumix