더 이상 익명 형식

c# dapper orm

문제

Dapper에서 익명 형식을 사용할 수 있습니까?

나는 당신이 어떻게 동적으로 사용할 수 있는지를 볼 수있다.

.Select(p=> new { A, B ,C }) 

그런 다음

.Select(p=> new { A, B ,C }) 

또는 그 이후의 변형?

편집하다

나는 내가 지금 Dapper를 어떻게 사용하고 있는지 보여줄 줄 알았다. 필자는 (InMemoryCache를 사용하여) 캐쉬하는 경향이 있으므로 시작 부분에 Dapper를 사용하여 매우 빠른 쿼리를 작성한 다음 Linq를 사용하여 리포지토리에서 모두 정렬합니다.

.Select(p=> new { A, B ,C }) 

InMemoryCache는 다음과 같습니다.

.Select(p=> new { A, B ,C }) 

수락 된 답변

다음은 dapper에서 익명 형식을 사용하는 또 다른 해결책입니다.

var data = connection.Query(() => new 
{
    ContactId = default(int),
    Name = default(string),
}, "SELECT ContactId, Name FROM Contact");

다음과 같이 사용하십시오.

var data = connection.Query(() => new 
{
    ContactId = default(int),
    Name = default(string),
}, "SELECT ContactId, Name FROM Contact");

인기 답변

Dapper에서 익명 형식을 사용할 수 있습니까?

확실하지 않은 쿼리 오버라이드를 보면 동적 IDictionary<string, object> 반환합니다.이 객체는 점 표기법을 사용하여 캐스트하거나 액세스 할 수있는 expando입니다.

예 :

var v = connection.Query("select 1 as a, 2 as b").First(); 
Console.Write("{0} {1}",v.a, v.b) // prints: 1 2

수행하는 것이 가능하다 .Select

물론 IEnumerable<dynamic> 을 얻을 수 있습니다 ... 원하는 모든 것을 실행할 수 있습니다.




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