1

我有3個實體。實體傳感器,實體tanaman和實體tanamanhassensor。 我想從api tanamanhassensor使用json jquery製作圖形。如何顯示圖表?如果用我的JSON的API http://xxxxx/api/tanaman_has_sensor沒有找到如何獲得具有一對多關係的Web API

我的實體是這樣的:

public partial class Tanaman_has_Sensor 
{ 
    [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")] 
    public Tanaman_has_Sensor() 
    { 
     this.Tanaman_has_Sensor_has_Jadwal = new HashSet<Tanaman_has_Sensor_has_Jadwal>(); 
    } 

    public int Tanaman_IdTanaman { get; set; } 
    public int Sensor_IdSensor { get; set; } 
    public double NilaiSensor { get; set; } 
    public System.DateTime WaktuSensor { get; set; } 
    public string Lokasi { get; set; } 

    public virtual Sensor Sensor { get; set; } 
    public virtual Tanaman Tanaman { get; set; } 
    public virtual ICollection<Tanaman_has_Sensor_has_Jadwal> Tanaman_has_Sensor_has_Jadwal { get; set; } 
} 

這是我的控制器

public class TanamanhasSensorController : ApiController 
{ 
    private SmartGreenHouseEntities db = new SmartGreenHouseEntities(); 

    // GET: api/TanamanhasSensor 
    public IQueryable<Tanaman_has_Sensor> GetTanaman_has_Sensor() 
    { 
     return db.Tanaman_has_Sensor; 
    } 

    // GET: api/TanamanhasSensor/5 
    [ResponseType(typeof(Tanaman_has_Sensor))] 
    public async Task<IHttpActionResult> GetTanaman_has_Sensor(int id) 
    { 
     Tanaman_has_Sensor tanaman_has_Sensor = await db.Tanaman_has_Sensor.FindAsync(id); 
     if (tanaman_has_Sensor == null) 
     { 
      return NotFound(); 
     } 

     return Ok(tanaman_has_Sensor); 
    } 
} 

應用JSON

[{ 
"Tanaman_IdTanaman": 1, 
"Sensor_IdSensor": 2, 
"NilaiSensor": 3.1, 
"WaktuSensor": "2016-11-19T07:38:42.519263+07:00", 
"Lokasi": "sample string 5", 
"Sensor": { 
    "$id": "1", 
    "IDSensor": 1, 
    "NamaSensor": "sample string 2", 
    "Tanaman_has_Sensor": [ 
    { 
     "Tanaman_IdTanaman": 1, 
     "Sensor_IdSensor": 2, 
     "NilaiSensor": 3.1, 
     "WaktuSensor": "2016-11-19T07:38:42.519263+07:00", 
     "Lokasi": "sample string 5", 
     "Sensor": { 
     "$ref": "1" 
     }] 

我的JSON

$.ajax({ 
      type: 'GET', 
      url: "http://xxxxx/api/tanaman_has_sensor", 
      dataType: 'json', 
      async: false, 
      contentType: "application/json; charset=utf-8", 
      data: dd, 
+0

通過**許多演示了這許多**是什麼意思 – Aravind

+0

@Aravind對不起,我的意思是一對多,我已經改變了標題 – redim

+0

的信息是不夠的實際! !請更具體一些。 – Aravind

回答

0

基於約定假設默認路由的Web API 2

// Convention-based routing. 
config.Routes.MapHttpRoute(
    name: "DefaultApi", 
    routeTemplate: "api/{controller}/{id}", 
    defaults: new { id = RouteParameter.Optional } 
); 

你應該打電話

url: "http://xxxxx/api/TanamanhasSensor 

按照慣例路由表匹配控制器名減去Convention

從而TanamanhasSensorController會map to TanamanhasSensor

即使控制器在評論

public class TanamanhasSensorController : ApiController { 
    private SmartGreenHouseEntities db = new SmartGreenHouseEntities(); 

    // GET: api/TanamanhasSensor 
    [HttpGet] 
    public IQueryable<Tanaman_has_Sensor> GetTanaman_has_Sensor() { 
     return db.Tanaman_has_Sensor; 
    } 

    // GET: api/TanamanhasSensor/5 
    [HttpGet] 
    [ResponseType(typeof(Tanaman_has_Sensor))] 
    public async Task<IHttpActionResult> GetTanaman_has_Sensor(int id) { 
     Tanaman_has_Sensor tanaman_has_Sensor = await db.Tanaman_has_Sensor.FindAsync(id); 
     if (tanaman_has_Sensor == null) { 
      return NotFound(); 
     } 

     return Ok(tanaman_has_Sensor); 
    } 
} 
+0

謝謝nkosi,我錯誤的調用網址 – redim

相關問題