웹 API 2 프로젝트에서 데이터베이스와 같은 항목을 리턴하는 컨트롤러가 있습니다.문자열을 쿼리 가능 목록에 결합하십시오.
[EnableQuery()]
public IQueryable<MyList> GetList()
{
var items = from i in db.Items
select new ItemsList()
{
Id = i.Id,
Title = i.Title,
cX = i.otherCollection.FirstOrDefault().cX,
cY = i.otherCollection.FirstOrDefault().cY
};
return items.AsQueryable();
}
예상대로 작동합니다.
아마 추측 할 수 있듯이 otherCollection에는 현재 항목과 관련된 x 행이 포함될 수 있습니다. 현재 나는 FirstOrDefault만을 받고 있습니다. cX 및 cY는 위도 및 Lng 좌표입니다.
이제는 현재 항목과 관련된 otherCollection에서 모든 좌표를 수집하고이를 함수에서 중심점을 찾기 위해 사용할 수있는 LatLng의 결합 된 목록으로 반환해야합니다 (이 함수 나는 가지고있다).
그래서 나는 같은 것을 할 싶습니다 :
var items = from i in db.Items
select new ItemsList()
{
Id = i.Id,
Title = i.Title,
LatLng = GetCentralGeoCoordinate(i.otherCollection.cX.ToList() + i.otherCollection.cY.ToList()) //IList<GeoCoordinate> geoCoordinates
};
return items.AsQueryable();
i.otherCollection.cX
및 i.otherCollection.cY
두 문자열 값입니다.
어떻게 할 수 있습니까?
'없다 i.otherCollection.cX'와'i.otherCollection.cY'를 비교합니다. 그것들이 같은 타입이라면,'.Concat'을 사용할 수 있습니다. – 12seconds
"중심점"은 무엇을 의미합니까? 몇 가지 예를 보여주십시오. – stybl
@stybl "Centerpoint"는 단순히 FirstOrDefault()에서 하나의 latlng 결과를 반환하는 대신 otherCollection의 항목에서 좌표의 CenterPoint를 찾고 싶다는 것을 의미합니다. otherColection에는 단일 항목에 연결된 좌표가 들어있는 행의 1 ~ 1000 초가 포함됩니다. 하나의 항목은 3000 개의 다른 좌표를 포함하는 3000 개의 행을 otherCollection에 가질 수 있습니다. LatLng 목록을 기반으로하는 함수가있어 하나의 LatLng 값으로 센터를 찾아 반환 할 수 있습니다. – brother