2017-10-12 7 views
1

새로운 작성을 위해 양식을 제출할 때 변수 dbgeometry의 데이터를 검증 할 수 없다는 문제점이 있습니다. "이 오브젝트에 대해 정의 된 매개 변수가없는 생성자가 없습니다." EF에서dbgeography 양식 제출

[HttpPost] 
    [ValidateAntiForgeryToken] 
    public ActionResult Create([Bind(Include = "id,name,Location")] schoolinfo schoolinfo) 
    { 
     if (ModelState.IsValid) 
     { 
      db.schoolinfo.Add(schoolinfo); 
      db.SaveChanges(); 
      return RedirectToAction("Index"); 
     } 
     return View(schoolinfo); 
    } 

내 모델 : 이 내 코드 컨트롤러

public partial class schoolinfo 
{ 
    public string id { get; set; } 
    public string name { get; set; } 
    public System.Data.Entity.Spatial.DbGeography Location { get; set; } 
} 

답변

0

그것은 SQLQuery 명령

var id = form["id"]; 
      var name = form["name"]; 
      var lat = form["Location.Latitude"]; 
      var lng = form["Location.Longitude"]; 
      db.Database.ExecuteSqlCommand("insert into [dbo].[schoolinfo] values ('" + id + "','" + name + "',geography::Point(" + lat + ", " + lng + ", 4326))"); 

이 100 %

를 일이야을 사용의 가장 좋은 방법