2017-10-12 136 views
1

我在提交新創建表單時出現問題,無法驗證變量dbgeometry的數據。錯誤消息是「沒有爲此對象定義參數的構造函數」。 這是我的代碼控制器:提交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); 
    } 

我的模型從EF:

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%的工作

的最佳方式