一つの方法の全てのデータiが遅延ロードをオフにしたくない場合は.....遅延ロードをオフにすることで、他の解決策はありますか?私のWeb APIをアクション復帰代わりにこの問題を解決する一つの
私の行動は、あなたがMVCとWeb APIの概念とオブジェクトを混合している。この
一つの方法の全てのデータiが遅延ロードをオフにしたくない場合は.....遅延ロードをオフにすることで、他の解決策はありますか?私のWeb APIをアクション復帰代わりにこの問題を解決する一つの
私の行動は、あなたがMVCとWeb APIの概念とオブジェクトを混合している。この
のように見えるです。
JsonResult
はMVCに由来するActionResult
オブジェクトですが、IHttpActionResult
はWeb APIに関連付けられています。あなたは、すべてのデータを返すようにしたくない場合は
また、しないでください。新しいオブジェクト結果モデルを構築し、必要なものだけを返します。
[ResponseType(typeof(UserModel))]
public IHttpActionResult Get(string id) {
var user = db.AspNetUsers.FirstOrDefault(s => s.UserName == id);
if (user == null)
return NotFound();
var data = new UserModel {
UserName = user.UserName,
Email = user.Email,
FirstName = user.FirstName,
LastName = user.LastName,
Roles = user.AspNetRoles.Select(s => s.Name).ToArray()
//...other properties you want to return
};
return Ok(data);
}
public class UserModel {
public string UserName { get; set; }
public string Email { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string[] Roles { get; set; }
}
私は私の問題を修正するには、
たくさん
おかげでこれはNkosiの解答のコピーペーストのように見える..... Nkosiの答えはほとんど変化を聖霊降臨祭。この答えを削除し、Nkosiの回答をAnswer(回答の横にあるチェックボックスを使用)とマークするとよいでしょう。これは、これが正しかったことを他の人に示すとともに、あなたを助けるためのNkosiポイントも授与されます。 – Igor