0

我正在創建後期API以將數據存儲在數據庫中。我創建了一個類,並添加了類成員的數據模型,但我得到的錯誤無法將類對象添加到實體框架模型

給錯誤 - 無法從「System.Web.Mvc.JsonRequestBehavior」轉換爲「Newtonsoft.Json.JsonSerializerSettings」

public ActionResult AddTemprature([FromBody]tempretureViewModel paramTemplate) 
{ 
    try 
    { 
     DateTime currentTime = DateTime.Now; 
     using (smartpondEntities DB = new smartpondEntities()) 
     { 
      WebApi.Temperature temptable = new WebApi.Temperature(); 
      // and you need paramTemplate props to template object 
      DB.Temperatures.Add(temptable); 
      DB.SaveChanges(); 
      return Json(true, JsonRequestBehavior.AllowGet); 
     } 
    } 
    catch (Exception Ex) 
    { 

    } 
    return Json(false, JsonRequestBehavior.AllowGet); 
} 

public class tempretureViewModel 
{ 

    public decimal? temp1 { get; set; } 
    public decimal? PHValue { get; set; } 
    public decimal? DOValue { get; set; } 
    public DateTime? currentTime { get; set; } 
} 

WebApiConfig

public static void Register(HttpConfiguration config) 
    { 


     // Web API configuration and services 

     // Web API routes 
     config.MapHttpAttributeRoutes(); 

     config.Routes.MapHttpRoute(
      name: "DefaultApi", 
      routeTemplate: "api/{controller}/{id}", 
      defaults: new { id = RouteParameter.Optional } 
     ); 
     GlobalConfiguration.Configuration.Formatters.Clear(); 
     GlobalConfiguration.Configuration.Formatters.Add(new System.Net.Http.Formatting.JsonMediaTypeFormatter()); 
    } 

回答

0

其不是asp.net,JSON實體框架,模型 - 視圖 - 控制器,asp.net-web的API2。它關於C#。 WebApi.Controllers.tempretureViewModel 'and'WebApi.Temperature'」不同類型的

public ActionResult AddTemprature([FromBody]tempretureViewModel paramTemplate) 
     { 
      try 
      { 
       currentTime = DateTime.Now; 
       using (smartpondEntities DB = new smartpondEntities()) 
       { 
        WebApi.Temperature temptable = new WebApi.Temperature(); 
        // and you need to set paramTemplate props to template object 

        DB.Temperatures.Add(temptable); 
        DB.SaveChanges(); 
        return Json(true, JsonRequestBehavior.AllowGet); 
       } 
      } 
      catch (Exception Ex) 
      { 

      } 
      return Json(false, JsonRequestBehavior.AllowGet); 
     } 

更新:與 類使用WebApiConfig.cs

GlobalConfiguration.Configuration.Formatters.Clear(); 
GlobalConfiguration.Configuration.Formatters.Add(new System.Net.Http.Formatting.JsonMediaTypeFormatter()); 
+0

給錯誤 - 無法從'System.Web.Mvc.JsonRequestBehavior'轉換爲'Newtonsoft.Json.JsonSerializerSettings' – dotnetcoder

+0

我應該將它添加到註冊方法嗎? – dotnetcoder

+0

是的。你需要添加註冊方法。 – levent

0

使用上面的命名空間類,而不是斷我已標記與。粗體 WebApi.Temperature不是Temptable =新WebApi.Temperature(); 添加名字空間

public ActionResult AddTemprature([FromBody]tempretureViewModel paramTemplate) 
{ 
    try 
    { 
     DateTime currentTime = DateTime.Now; 
     using (smartpondEntities DB = new smartpondEntities()) 
     { 
      **WebApi.Temperature temptable = new WebApi.Temperature();** 
      // and you need paramTemplate props to template object 
      DB.Temperatures.Add(temptable); 
      DB.SaveChanges(); 
      return Json(true, JsonRequestBehavior.AllowGet); 
     } 
    } 
    catch (Exception Ex) 
    { 

    } 
    return Json(false, JsonRequestBehavior.AllowGet); 
} 

public class tempretureViewModel 
{ 

    public decimal? temp1 { get; set; } 
    public decimal? PHValue { get; set; } 
    public decimal? DOValue { get; set; } 
    public DateTime? currentTime { get; set; } 
} 
+0

對不起,我沒有得到你需要使用WebApi在我的片段 – dotnetcoder

+0

中添加哪個命名空間; 聲明這樣的類 溫度temptable = new Temperature(); – NIts577