2017-04-18 54 views
1

我有一个类,看起来像这样:创建使用JSON当模型具有HTTP POST模型的外键

public class TaskRequest 
{ 
    public int Id { get; set; } 
    [Required] 
    [StringLength(255)] 
    public string Title { get; set; } 
    [Required] 
    public string Body { get; set; } 
    [Required] 
    [Column(TypeName = "datetime2")] 
    public DateTime RequestedDateTime { get; set; } 
    public virtual Employee Employee { get; set; } 
} 

反正我就可以建立一个HttpPost方法,可以创建一个模型被插入数据库ASP.NET

我目前的任务POST方法:

// POST /api/taskrequests 
[HttpPost] 
public TaskRequest CreateTaskRequest(TaskRequest taskRequest) 
{   
    if (!ModelState.IsValid) 
    { 
     throw new HttpResponseException(HttpStatusCode.BadRequest); 
    } 

    _context.TaskRequests.Add(taskRequest); 
    _context.SaveChanges(); 
    return taskRequest; 
} 
我目前使用 HttpGet得到员工和 stringify整个TaskRequest作为一个JSON字符串

var task = new Object(); 
task.Title = taskTitle; 
task.Body = taskBody; 
task.RequestedDateTime = new Date(taskDate + " " + taskTime); 
task.Employee = JSON.stringify(employee); 
var jsonString = JSON.stringify(task); 

然后发送到我的API

,但员工始终为空。

回答

1

我想你应该叫JSON.stringify只有一次:

var task = new Object(); 
task.Title = taskTitle; 
task.Body = taskBody; 
task.RequestedDateTime = new Date(taskDate + " " + taskTime); 
var employee = new Object(); 
//add employee properties here 
task.Employee = employee; 
var jsonString = JSON.stringify(task);