我想知道是否有人可以幫我找出爲什麼我得到空值屬性值後獲得API。空API列表屬性當API得到
Usertraining模型
public class UserTraining
{
public int UserTrainingId { get; set; }
public string UserId { get; set; }
public virtual ApplicationUser User { get; set; }
public int TrainingId { get; set; }
public virtual Training Training { get; set; }
[DataType(DataType.Date)]
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:yyyy-MM-dd}")]
public DateTime Date { get; set; }
//Value2 is time in min
public double Value2 { get; set; }
public int BurnedCalories { get; set; }
public int AvgHR { get { if (SessionTraining.Count > 0) { return Convert.ToInt32(SessionTraining.Average(s => s.HeartRate)); } else return 0; } }
public virtual ICollection<SessionTraining> SessionTraining { get; set; }
//public virtual ICollection<Activity> Activities { get; set; }
public List<Activity> Activities { get; set; }
}
活動模型
public class Activity
{
[Key, Column(Order = 0)]
public int UserTrainingId { get; set; }
public Movement Movement { get; set; }
[Key, Column(Order = 1)]
public DateTime StartTime { get; set; }
public DateTime StopTime { get; set; }
public int AvgHR { get; set; }
public int BurnedKcal { get; set; }
public virtual UserTraining UserTraining { get; set; }
public Activity(DateTime start, Movement movement, DateTime stop)
{
StartTime = start;
Movement = movement;
StopTime = stop;
}
}
public enum Movement
{
Layover,
Walk,
Run
}
PUT爲活動
[HttpPut]
[Route("api/usertraining2/addactivity/{id}")]
public IHttpActionResult AddActivity(int id)
{
var usertraining = db.UserTrainings.Where(u => u.UserTrainingId == id).SingleOrDefault();
var sessionsTraining = db.SessionTrainings.Where(u => u.UserTrainingId == id).ToList();
List<Activity> activities = ActivityManager.analizeActivity(sessionsTraining);
usertraining.Activities = activities;
db.SaveChanges();
return Ok(usertraining);
}
得到
// GET: api/UserTraining1
public IEnumerable<UserTraining> GetUserTrainings()
{
var userid = User.Identity.GetUserId();
var usertrainings = db.Set<UserTraining>().Where(u => u.UserId == userid).ToArray();
return usertrainings;
}
起初,我把活動usertraining模型。把工作正常和數據庫添加記錄,但是當我打電話Api獲取用於使用它返回JSON與活動等於空。
你可以發佈你的GET方法嗎? – Mats391
GET方法是否有一個「包含(..)」的活動?例如:'var usertraining = db.UserTrainings.Include(ut => ut.Activities).SingleOrDefault(u => u.UserTrainingId == id);' – DavidG
獲取在文章 –