2011-10-14 4 views
2

데이터베이스 테이블을 동적 객체에 매핑하는 Simple.Data로 데이터를 가져옵니다. 동적 객체를 단순 유형으로 매핑하려고합니다. 나는 이것을 시도했다 :ValueInjecter로 동적 객체 매핑

var dbObject = Database.Default.LocationStatus.FindByLocationStatusId(locationStatusId); 
ILocationStatus domainObject = new LocationStatus(); 
domainObject.InjectFrom((object)dbObject); 

그러나 domainObject에 속성이 설정되어 있지 않다. 매핑 이 같아야합니다. 속성 이름이 동일하므로 ei : dbObject.Name 및 domainObject.Name

어디서 잘못 되었나요? 참고 : 실제로 마술처럼 캐스팅 할 수 있습니까 (오리 타이핑?) (LocationStatus) dbObject하지만 ValueInjecter로 매핑하는 방법을 알고 싶습니다. 감사.

+1

속성 이름과 유형이 동일한 경우 작동해야합니다. http://valueinjecter.codeplex.com/discussions/240346 – Omu

+1

예, 여기에 원래 코드가 있습니다. 나는 뭔가를 놓치고 있어야합니다. 도움 주셔서 감사합니다. –

답변

0

이상하게 들릴지 모르지만 나는 며칠 전이 똑같은 문제에 부딪 혔고 솔루션은 간단했습니다.

동적 출력을지도 작성하려는 유형으로 캐스팅해야합니다. 내 경우

:

WeatherData myData = new WeatherData().InjectFrom((object)weatherData); 

위 (나는 원래 포스터와 같은 문제를 의심) 작동하지 않았다 의견에 참조 된 게시물에 표시하지만,로 사용 캐스팅 때와 같이 ...

WeatherData myData = new WeatherData().InjectFrom((object)weatherData) as WeatherData; 

모든 것이 정상적으로 작동합니다.

그래서 3 년이 지난 후에도 여전히 문제가 될 수 있으며 출력 유형을 형변환하는 것이 수정되었습니다.