액티브 레코드 클래스에서 관계의 지연로드를 수정하거나 제거해야한다고 생각합니다.
게으른 로딩 동작은 the most current version에 라인 (300)에서 시작하여 ActiveRecord.tt 템플릿에 의해 생성됩니다
#region ' Foreign Keys '
<#
List<string> fkCreated = new List<string>();
foreach(FKTable fk in tbl.FKTables)
{
if(!ExcludeTables.Contains(fk.OtherTable)){
string propName=fk.OtherQueryable;
if(fkCreated.Contains(propName))
{
propName=fk.OtherQueryable+fkCreated.Count.ToString();
}
fkCreated.Add(fk.OtherQueryable);
#>
public IQueryable<<#=fk.OtherClass #>> <#=propName #>
{
get
{
var repo=<#=Namespace #>.<#=fk.OtherClass#>.GetRepo();
return from items in repo.GetAll()
where items.<#=CleanUp(fk.OtherColumn)#> == _<#=CleanUp(fk.ThisColumn)#>
select items;
}
}
<#
}
}
#>
#endregion
나는이 지역 전체를 제거하고 과도한 캐시가 해결되었는지보고 시도 할 것입니다. 물론, 당신이 게으른 로딩 동작에 의존한다면, 당신은 지금 그것을 다루어야 만 할 것이다.
감사합니다. 나는 activerecord-template을 변경하고 싶지 않았기 때문에 id가 참조하는 래퍼를 db의 행에 만들었습니다. 필요한 경우 가져올 수 있습니다. – ThomasD