2009-06-08 7 views
1

네,이 주제는 그물 전체에 걸쳐 수 백개의 게시물로 덮여 있습니다. 그렇지만 단일 필드를 변경하기 위해 전체 엔티티 (때때로 직렬화 됨)를로드하지 않는 것을 찾지 못했습니다. 일부는 엔티티의 모든 속성에 대한 "업데이트 확인"을 변경하면이 문제를 해결할 것이라고 제안했지만 지금까지는 내 방식에 관계없이 여전히 ChangeConflictExceptions을 얻고 있습니다. L2S에게 내 유모가되는 것을 멈추고 내가 업데이트하도록 지시하는 방법이 있습니까?Linq에서 SQL로 단일 필드 업데이트 - 모든 동시성 논리를 비활성화 할 수 있습니까?

var context = new MyDataContext(); 
var person = new Person() {Id = 5}; 
person.LastName = "Johanssen"; 
context.People.Attach(person); 
context.SubmitChanges(); 

통찰력을 가져 주셔서 감사합니다.

제임스

답변

2

좋아, 나는 Visual Studio를 자세히 보지 못했습니다. 디자이너에서 생성 된 엔티티를보기 위해 MyModel.desinger.cs 파일을 보았을 때 UpdateCheck.Never로 모든 필드를 변경했지만 그 속성은 대부분의 필드에 추가되지 않았습니다. 애트리뷰트를 추가하면 업데이트가 완료되어 모든 것이 잘 수행되었습니다.

이 속성을 많은 필드에 한 번에 추가해야하는 경우 파일의 모든 열에 추가 할 VS 정규 표현식을 사용합니다. 먼저 파일을 체크인 (또는 백업)하는 것이 좋습니다. 먼저 모든 노력을 다 잃지 않도록하십시오. 그리고 이미 속성을 일부에 설정해두면 속성이 두 배로 증가합니다 (따라서 두 번째 치환이 아래에 표시됩니다).

Find and Replace (Regular Expressions on) 
\[Column{.*}\)\] 
[Column\1, UpdateCheck=UpdateCheck.Never)] 

Find and Replace (Regular Expressions off) 
UpdateCheck=UpdateCheck.Never, UpdateCheck=UpdateCheck.Never 
UpdateCheck=UpdateCheck.Never 
관련 문제