dapper를 사용하여 ID 용 규칙 만들기

c# dapper dapper-extensions dommel

문제

"Id"라는 이름의 컬럼을 기본 키로 설정하기 위해 컨벤션을 만들고 싶습니다. documentacion을 살펴 봤는데 지금까지는 클래스별로 수동으로 클래스를 수행하려고합니다. 돔멜 :

public class ProductMap : DommelEntityMap<TEntity>
{
    public ProductMap()
    {
        Map(p => p.Id).IsKey();
    }
}

나는 더 좋아할만한 것을 원한다.

    public ConventionMap()
    {
        Properties<int>().Where(p=>p.Name.ToLower()=="id").isKey();
    }

그것은 dommel 또는 dapper 확장이나 다른 것일 수 있습니다. 저는이 구현만으로 유창합니다.

어떤 충고? 감사!

수락 된 답변

DOMMEL은 사용자 정의 만들 수 있습니다 IKeyPropertyResolver .

구현 내용은 다음과 같습니다.

public class CustomKeyPropertyResolver : DommelMapper.IKeyPropertyResolver
{
    public PropertyInfo ResolveKeyProperty(Type type)
    {
        return type.GetProperties().Single(p => p.Name.ToLower() == "id");
    }
}

다음 코드 행을 사용하여 응용 프로그램을 시작할 때 등록해야합니다.

DommelMapper.SetKeyPropertyResolver(new CustomKeyPropertyResolver());

Dapper.FluentMap (또는 Dapper.FluentMap.Dommel)이 필요하지 않습니다. 또한 : 설명서를 참조하십시오.



아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.
아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.