대퍼 공간 지형

c# dapper spatial sql-server

문제

EF가 공간적 지원을하고 있지만, 나는 공간적 예제를 만들어 내고 Dapper를 사용하기로 결정했다. 나는 다시 SQL을 제어 할 수있어 매우 기쁩니다 (Sam & Marc에게 감사드립니다).

그러나 DbGeography 클래스를 지원하는 POCO가 있어야합니다. 예 :

public class BuriedTreasure {
   public int PirateId { get; set; }
   public DbGeography MarksTheSpot { get; set; }
}

내 Google foo가 나를 실망 시켰고 가장 근접한 일치 항목은 질문입니다. 그러나 매개 변수로 공간 지원을 추가하기 만하면됩니다 (따라서 50 %가됩니다).

지금까지 내가 볼 수있는 한, 나는 다음 옵션 중 어느 것이 나의 실현 가능한 해결책이 아닌지에 제한되어있다.

  1. SQL Server의 특정 유형을 이해하는 데 사용되는 dapper 코드 사용자 지정
  2. 내 POCO에 LONG, LAT 및 ELEVATION 십진법을 지정하고 내 저장 프로 시저에 SPATIAL 유형을 작성하고 값을 검색하는 다른 프로 시저가 있거나 (지속 계산 된 컬럼을 사용하지만 거의 동일합니다)

대안?

인기 답변

관심있는 사람은 기본적으로 위에 게시 한 질문에서 옵션 2를 선택했습니다. 내 공간 데이터를 십진수로 매핑했습니다. 스토어드 프로시 저는 몇 가지 추가 점검을 수행하여 지점을 쉽게 구성 할 수 있습니다. 즉, 다음 스니 j을 :

Yarrrr = geography::Point(@Latitude, @Longitude, 4326)

본질적으로, DbGeography 클래스는 불변이고, 보여주기 위해 간다 ... RTFM :)

dapper를 전혀 변경하지 않아도됩니다!



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