2016-08-29 3 views
1

난 열이 username, password 인 표가 있습니다. 테이블에 대한 관리자가 데이터를 업데이트 할 수 있습니다.Entity Framework를 사용하여 데이터베이스에서 하나의 열 값만 업데이트하는 방법?

이제 플래그로 IsAgree이라는 새 열을 추가하고 싶습니다. 사용자가 처음으로 로그인 할 때 설정해야합니다. 그러나 데이터를 설정하는 동안 다른 열 데이터에 영향을 주어서는 안되며 usames 및 Isagree 플래그를 개체로만 보내 게됩니다.

flgDetail = { usename:"vis" Isallowed:True } 

[Route("api/TermsAndCondition/setflag")] 
public IHttpActionResult post(FlagDetails FlagDetail) 
{ 
    var user = _context.table.Where(s => s.UserName == flagDetail.UserName); 
} 

게시물을 넣을까요?

어떻게 한 열만 업데이트 할 수 있습니까?

다른 열에 영향을 미치지 않아야합니다.

+0

'_context.Configuration.AutoDetectChangesEnabled'가 true로 설정되어 있습니까? –

+0

어디에 설정해야합니까? –

+1

변경하지 않았다면 'true'로 설정해야합니다. 보통 컨텍스트 내에서 관리됩니다 (예 : 생성자). 그러나 원하는 곳에서 확인할 수 있습니다. 'bool isEanbled = _context.Configuration.AutoDetectChangesEnabled;'. 'AutoDetectChanges'가 활성화되면 EF는 변경된 속성 만 업데이트합니다. –

답변

1

당신은 post 또는 put 중 하나를 사용할 수 있습니다. 문제는 없습니다. 다음과 같이 업데이트 할 수 있습니다.

[Route("api/TermsAndCondition/setflag")] 
public IHttpActionResult post(FlagDetails flagDetail) 
{ 
    var user = _context.table.Where(s => s.UserName == flagDetail.UserName); 
    user.IsAgree =flagDetail.Isallowed; 
    _context.SaveChanges() 
} 
+0

이 당신에게 효과가 있습니까? – Sampath

관련 문제