Dapper을 사용하여 비즈니스 모델에 개체 관계 매핑을 제공하기를 바랍니다. 현재Dapper를 사용하여 추가 동적 속성을 사용하여 강력한 형식의 모델로 바인딩
Id
Title
c_MyCustomField1
c_MyCustomField2
, 모든 필드가 반환됩니다 이러한 데이터 모델과 함께
, 우리는 종종 사용자가 만든 및 반환 된 결과 집합의 일부로 표시되는 사용자 정의 필드 (런타임에 알려져 있지 않다) 발생 독자와 함께 처리했다. 이 모든 것을 Dapper으로 옮기고 싶지만 동적 사용자 정의 필드와 혼합 된 강력한 형식의 객체를 혼합하는 방법을 고민하고 있습니다.
우리는 다음과 같이 우리의 옵션을 참조하십시오
- 동적으로 말끔에서 모든 결과를 확인하고 우리 자신의 바인딩을한다.
- Dapper를 가져 와서 강력한 형식의 모델에 바인딩하고 별도의 호출을 만들어 사용자 지정 필드를 연결합니다.
- 중간에 들어가기 위해 Dapper를 확장하면 특정 사용자 사례를 추가하여 알려진 필드와 동적 필드를 모두 바인딩 할 수 있습니다.
1은 역효과를 보인다 그리고 우리는 아마도 당신이 처음부터 단정을 소개하는 것입니다 이유는 성능 저하를 취할 것입니다. 데이터 공급자에게 엄청난 변화가 필요하기 때문에 실제로 할 수 없습니다. 나는 Dapper의 출처에 속하지 않는다는 것을 알고 있습니다.
나는 성배이 같은 모델로 끝나는 될 것이라고 생각 :class Model
{
int Id {get; set;}
string Title {get; set;}
IList<CustomField> CustomFields {get; set;}
}
class CustomField : dynamic
{
string Name {get; set;}
object Value {get; set;}
}
이가 말끔를 사용하여 수행 할 수있는 방법이 있나요?
항상 그렇듯이 제안 사항은 크게 감사하겠습니다.
충분히 재미있게 '깨끗한'은 이것을 논의 할 때 꽤 많이 나온 형용사였습니다. 당신의 제안은 우리가 도약하기로 결심한다면 우리가 향하는 길이어야한다고 분명히 느낍니다. 시간 내 줘서 고마워. –
Dapper의 최신 버전에서 더 좋은 방법으로 바인드 할 수 있습니까? –
@CoderAbsolute 현재 아니, 아니요 –