긴 이야기 짧은 발행 페이지 새로 고침시 웹 사이트에 반영). 캐싱을 끄는 방법이 있습니까? 또는 캐시를 재설정하는 방법 (예 : 현재 데이터베이스에서 데이터를 변경하는 경우 결과를보기 전에 물리적으로 코드를 변경하고 다시 컴파일해야 함).LINQ는
마침내 C# 질문 (제 부분에서 기본적인 실수가있을 수 있습니다). 아래의 코드에서 그때 method1
실행하면 method2
다음 doc2 == doc1
(그리고 나는 그것이 DB에서 원래 값을 얻으려면)이 RecordDictionary
클래스는 그렇게는 직접적인 관련이 없습니다 (데이터를 피벗으로
이 나에게 매우 이상한 것 같다 모델로), 그리고 내 코드에서 할당은 다른 컨트롤러에 있습니다. 하지만 어떻게 든 LINQ는 SQL에 내가 내 응용 프로그램을 종료하고, 내가 doc1
을 변경할 때까지 doc2
가) (나는 그것이 것으로 기대 동일 컴파일하면 캐싱 변경 (doc2
로 doc1
에 적용하고 적용입니다
인위적인 예를
public RecordDictionary method1()
{
RecordDictionary doc1 = genericRepository.GetRecordById(
action.AppliesToModelEntityId, 27);
//do some stuff to doc1 here
return doc1;
}
public RecordDictionary method2()
{
RecordDictionary doc2 = genericRepository.GetRecordById(
action.AppliesToModelEntityId, 27);
return doc2;
}
public RecordDictionary GetRecordById(int ContainerModelId, int id)
{
var query = (from dv in _db.DataValues
where dv.DataInstance.IsCurrent == true &&
dv.DataInstance.DataContainer.DataContainerId == id
select new {
dv.DataInstance.DataContainer.ParentDataContainerId,
dv });
RecordDictionary result = CreateRecordColumns(
ContainerModelId, query.FirstOrDefault().ParentDataContainerId);
result.Id = id;
foreach (var item in query)
{
if (result.ContainsKey(item.dv.ModelEntity.ModelEntityId))
result[item.dv.ModelEntity.ModelEntityId] = item.dv;
}
return result;
}
스트레이트 캐쉬 homie. – jason
LINQ to SQL이 캐싱 중임을 어떻게 알 수 있습니까? – Jacob
db로 직접 변경하면 해당 변경 사항이 응용 프로그램에 반영되지 않습니다. –