2010-08-12 2 views
0

FruitFruitBasket을 저장하는 데이터베이스가 있고 각각 이미 충분히 채워져 있다고 가정 해 봅시다. 내 코드에서는 데이터베이스의 행을 OO 클래스 FruitFruitBasket의 인스턴스로 처리 할 수 ​​있도록 Linq-to-SQL을 사용하고 있습니다. 코드에서 임시로 FruitBasket을 만들고 싶습니다.하지만 은 이 데이터베이스에 저장되는 것을 원하지 않습니다. Linq-to-SQL을 사용하여 이것을 어떻게 달성 할 수 있습니까?Linq-to-SQL - 데이터베이스에 연결되지 않은 데이터 엔티티를 만드는 방법

내가 발견 한 기본 I 비어있는 새 FruitBasket를 작성하고 내가 데이터베이스에서 검색 한 것을 그것에 Fruit를 추가하는 경우, 새로운 FruitBasket이 자동으로 삽입됩니다되는 SQL을 -에 - Linq에 데이터베이스에 dataContext.SubmitChanges() (insertUponSubmit() 호출 여부에 관계없이) 전화를받습니다. 보통 이것은 옳은 일이지만 가끔 DB에 자동으로 삽입하지 않고 새로운 FruitBasket을 생성 할 수 있기를 원합니다. 아이디어? 모범 사례?

답변

1

DataContext.ObjectTrackingEnabled = false;으로 설정하면이 문제를 방지 할 수 있습니다. 데이터 컨텍스트를 쿼리하기 전에 설정해야합니다.

+0

좋습니다 ... 희망찬 것으로 들리지만 자세한 내용이 필요합니다. DB에서'Fruit'을 여러 장 가져 와서 임시 FruitBasket을 만들고 싶다고합시다. 이제 개체 추적을 끌 수 있습니까, 아니면 이미 너무 늦었습니까? – JnBrymn

+0

예 과일을 회수 한 후에 해당 속성을 설정하려고하면 이미 예외가 발생합니다. 데이터 컨텍스트의 데이터를 검색하기 전에이를 설정해야합니다. 정보가 더 이상 읽히지 않으면, SubmitChanges를 false로 설정하면 호출 할 수 없으므로 사용하지 않을 수 있습니다. –

+0

글쎄, 적어도 좋은 출발점처럼 보입니다. 감사! – JnBrymn

관련 문제