나는 전체 테이블 캐시 경우 때문에 세 번째 줄의,캐싱 엔티티는 원치 않는 삽입
이var context = new Context();
var t2 = new Table2();
t2.MyTable1Reference = table1Cache.Single(x=>x.Id == paramIntId);
context.SaveChanges();
새로운 행이 표에 삽입됩니다 : 다음
static List<Table1> table1Cache = context.Table1.ToList();
내가 연결하는 데 사용을 . EF는 이것이 새로운 실체라고 생각합니다. 나는 항상 컨텍스트를 만들 때 캐시 첨부 (예 : 요청 당 1 개의 컨텍스트가 있음) 또는 MyTable1ReferenceID = table1Cache.Single (x => x.Id == paramIntId)를 사용하는 것과 같은 일을 할 수 있음을 알고 있습니다.
하지만 안전하지 않을 수도 있습니다. 때로는 잊을 수 있습니다. 좋은 해결책이 있습니까?