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