2010-02-24 4 views
-1

저는 EF에 익숙하지 않고 asp.net mvc databind 메서드를 사용하여 "tryupdatemodel"모델을 업데이트했습니다. 이제는 서비스에서 엔티티를 업데이트해야합니다. 레이어, 이후 TryUpdateModel asp.net mvc 메서드는 서비스 계층에서 사용할 수 없습니다.엔티티 프레임 워크가 ASP.NETMVC없이 기존 엔티티를 업데이트합니다. TryUpdateModel

이 방법을 사용하지 않고 엔티티의 데이터를 업데이트하려면 어떻게해야합니까?

저는 리포지토리를 사용하고 있습니다.

답변

0

자동 변환 방법이 없습니다. 데이터베이스에서 엔티티를로드하고 속성을 직접 업데이트해야합니다.

+0

그의 질문과 공통점이 무엇입니까? – LukLed

+0

사실 그것은 데이터베이스 호출을하지 않고 도우미 메서드를 사용하여 데이터를 업데이트하는 것입니다. 단지 엔티티를 컨텍스트 (atta EF 메서드로)에 연결해야만 엔티티의 엔티티 키를 생성하고 마침내 foreach 메서드를 사용하여 모든 속성을 SetModifiedProperty로 표시합니다. 그런 다음 저장하고 Voalá를 완료 할 수 있습니다. 엔티티와 엔터티 집합을 전달하는 메서드를 호출하기 만하면됩니다. 아무도 더 나은 접근 방법이 있다면 말해주십시오) 감사합니다. " – Rick

+0

@ 릭 : 수동으로하는 것은 항상 가능하지만, 우리는 이렇게하지 않는 것에 대해 이야기하고 있습니다. 그리고 그것을 할 수있는 방법이 있으므로이 대답은 잘못되었습니다. – LukLed

1

서비스 계층에는 사용하지 마십시오. 컨트롤러에 비슷한 코드를 추가 할 수 있습니다.

var entity = Service.Get(id); //get updated entity 
TryUpdateModel(entity); 
if (ModelState.IsValid) 
    Service.Save(entity); //here you can save to database and perform additional validation 
+0

WCF를 사용하고 데이터를 업데이트하기 위해 서비스 호출을하고 있기 때문에 컨트롤에서 할 수 없습니다. – Rick

+0

전화가 얼마나 정확하게 전달되는지, WCF 기술이 평범한 지 모르겠으니 몇 가지 세부 정보를 제공하십시오. . – LukLed

관련 문제