DotNetNuke 7 플랫폼을 사용하여 응용 프로그램을 작성 중이며 데이터베이스에 지리 데이터를 쓰려고합니다. 다음은 프로젝트의 배경입니다. 저는 VS 2012에서 구축 중이며 2008 R2에서 Server 2012로 업그레이드했습니다. DotNetNuke 7은 데이터 계층과 WebAPI를 위해 PetaPoco를 구현합니다.개체 유형 System.Data.Spatial.DbGeography에서 알려진 관리되는 공급자 네이티브 형식으로의 매핑이 없습니다.
내가 제공 한 정보가 문제를 이해하기에 충분했기를 바랍니다. 내 코드가 "rep.Insert (location);"줄에서 실패합니다. 여기
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Net;
using System.Web;
using System.Net.Http;
using System.Web.Http;
using System.Data.Spatial;
using DotNetNuke.Web.Api;
using DotNetNuke.Data;
namespace DotNetNuke.Modules.GeoLocations
{
public class LocationController: DnnApiController
{
[AllowAnonymous]
[HttpPost]
[ValidateAntiForgeryToken]
public HttpResponseMessage addLocation(CP_Location submitted)
{
submitted.GeoCode = DbGeography.PointFromText(string.Format("POINT({0} {1})", submitted.Long, submitted.Lat), 4326);
createLocation(submitted);
return Request.CreateResponse(HttpStatusCode.OK, "Success");
}
//------------------------------CRUD------------------------------//
public void createLocation(CP_Location location)
{
using (IDataContext ctx = DataContext.Instance())
{
var rep = ctx.GetRepository<CP_Location>();
rep.Insert(location);
}
}
}
}
내 개체 내 데이터베이스 경우에는
을 클릭 마우스에서 좌표를 가져 구글지도에서 클라이언트 측에서 장기 및 위도를 전달하고
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data.Spatial;
using System.Data.Entity;
using DotNetNuke.ComponentModel.DataAnnotations;
using DotNetNuke.Data;
using DotNetNuke.Data.PetaPoco;
namespace DotNetNuke.Modules.GeoLocations
{
[TableName("CP_Locations")]
[PrimaryKey("LocationId", AutoIncrement = true)]
public class CP_Location
{
public int LocationId { get; set; }
public string LocationType { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public float Long { get; set; }
public float Lat { get; set; }
public DbGeography GeoCode { get; set; }
}
}
입니다 직접 삽입하거나 다음을 사용하여 업데이트를 작성하면 작동합니다.
geography:: STGeomFromText('POINT(-121.527200 45.712113)' , 4326);
어떤 이유 일 수 있습니까?
- 나는으로 ORMs의 작동 방식에 의한 화면 나는이에 확실하지 오전 개체
당신이 (스택 추적 포함) 전체 예외 세부 정보를 제공시겠습니까 피드백 후 답을 업데이트? –