2010-07-20 3 views
1

, 나는이 열모든 열을 끌어서 업데이트하지 않고 행을 업데이트 할 수 있습니까? 예제를 위해서

을 포함하는 테이블이 있다고 할 수 있습니다
  • ID (기본 키, 자동 증가)
  • FIRSTNAME (32 자)
  • 성 (32 자)
  • 사진 (평균 10k의 데이터를 포함하는 바이너리 JPEG 데이터)

음영 및/또는 LINQ 사용 레코드의 이름 열만 업데이트하고 그림 열은 가져 오지 못하게하려면 어떻게해야합니까? 또는 그림 열을 업데이트하려고합니까?

완전히 내가 그래도 말할 수있는 것은 완전히 객체를로드하는 것입니다로부터 회선을 통해 발생하고 무엇
var p=Data.People(x=>x.ID==SomeID); 
p.FirstName="Foobar"; 
p.Save(); 

개체를 저장합니다

은 지금 내가 그 일을의 볼 수있는 유일한 방법은이 같은 것입니다. 나는 그런 간단한 조작을 위해 10k가 넘는 데이터를 전송해야하는 것을 원하지 않는다. 이 문제를 어떻게 해결할 수 있습니까?

+0

또한, 물론 당신이 단지 원시 SQL에 침입 할 수 알고 있어요,하지만 그건 잘못된 생각한다. – Earlz

+0

하지만 다소 시간이 걸렸지 만 Subsonic이 수정 된 열을 확인했음을 기억합니다. – TheVillageIdiot

+0

@TheV yea하지만 초기 선택에서 모든 것을 꺼내는 데는 도움이되지 않습니다. – Earlz

답변

3

Rob의 SubSonic 3 미리보기 버전의 예입니다. 귀하의 측면에서

http://blog.wekeroad.com/2008/11/12/subsonic-3-0-preview-2

db.Update<Products>().Set(
    x => x.Discontinued == false, 
    x => x.ReorderLevel == 100) 
    .Where(x=>x.Category==5) 
    .Execute(); 
:

db.Update<People>().Set(
    p => p.FirstName == "FooBar") 
    .Where(p => p.ID == SomeId) 
    .Execute(); 
+0

실제로 버전이 컴파일되지 않으므로 업데이트하기 위해'=='이 (가)있는 첫 번째 버전이 맞을 것으로 생각하십니까? – Earlz

+0

표현식 트리가 할당을 지원하지 않기 때문에 아마'=='을 사용하고있을 것입니다. – user7116

+0

그래도 오류는 발생하지 않지만 작동하지 않습니다. 데이터베이스가 변경되지 않았거나 아무 것도 변경되지 않았습니다. – Earlz