문제

이 코드가 있습니다.

    Message message = new Message();
    message.Id = 5;
    message.EntityKey = context.CreateEntityKey("MessageSet", entity);
    message.Votes++;
    context.Attach(entity);
    context.ObjectStateManager.GetObjectStateEntry(entity.EntityKey).SetModifiedProperty("Votes");
    Save();

물론 투표는 0으로 초기화됩니다.

어떻게 생성 될 수 있습니까?

Update Messages set Votes=Votes+1 where Id = 5

?? 고마워

도움이 되었습니까?

해결책

나는 당신이 이것을 직접 달성 할 수 있다고 생각하지 않지만, 당신은 일부를 사용할 수 있습니다. 가져 오기 기능 SP를 사용하여 필요한 작업을 수행하십시오.

다른 팁

Linq to Entities가 또는 맵퍼이므로 일반적인 아이디어는 먼저 업데이트 해야하는 엔티티 또는 엔티티에 대해 쿼리하고 코드의 객체로 업데이트하고 ObjectContext에서 업데이트 명령을 발행하여 해당 엔티티의 변경 사항을 지속한다는 것입니다. . 그것은 핵심적인 일이지만 종종 초기에 파악하기는 어렵지만 Entity 프레임 워크, nhibernate, linq에서 SQL 등과 같은 ORM을 사용하는 이유는 SQL을 쓰고 대상을 대신 사용해야 할 필요성을 제거하는 것입니다.

다음은 필요한 것입니다.

Message msg = context.Messages.First(m => m.Id == 5);
msg.Votes += 1;

context.SaveChanges();

SaveChanges에 대한 호출은 귀하를 위해 SQL CUD 문을 생성합니다. 각 업데이트마다 하나씩, 삽입 및/또는 삭제됩니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top