【问题标题】:Submit a dbgeography form提交 dbgeography 表格
【发布时间】:2017-10-12 17:04:53
【问题描述】:

我在提交新创建的表单时遇到问题,我无法验证变量 dbgeometry 的数据.. 错误消息是“没有为此对象定义参数的构造函数”。 这是我的代码控制器:

    [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; }
}

【问题讨论】:

    标签: c# asp.net entity-framework asp.net-mvc-5 sqlgeography


    【解决方案1】:

    使用 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% 成功了

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-20
      • 2023-03-24
      • 2019-03-06
      相关资源
      最近更新 更多