信じられないほど単純化したモデルを作成しました。
public class ImageModel
{
public int Id { get; set; }
public string FileName { get; set; }
}
そして今、ログインしているユーザーをレコードに保存したいと思います。おそらく、別のプロパティを追加することでこれを行うでしょう:
public User User { get; set; }
どのVisual Studioが私に言っているのか
using System.Web.Providers.Entities;
それが現在認証されているユーザーに対応する適切なクラスであると仮定するUser
と、モデルでそれを保存するにはどうすればよいですか?
私のCreate
アクションは次のようになります。
[HttpPost]
public ActionResult Create(ImageModel imagemodel)
{
if (ModelState.IsValid)
{
db.ImageModels.Add(imagemodel);
db.SaveChanges();
return RedirectToAction("Index");
}
return View(imagemodel);
}
次のようなものを追加したいと思います
imagemodel.User = User;
のすぐ上db.ImageModels.Add
ですが、これらは 2 つの異なるタイプのようです。のUser
オブジェクトは、あまり情報を保持していないように見えますController
。IPrincipal
認証されたユーザーの残りのユーザー データを取得するにはどうすればよいですか? 何を割り当てる必要がありimagemodel.User
ますか? それはそれを行う方法でもありますか、それともユーザーIDを保存したいだけであることを明示的に伝える必要がありますか(私はそれが理解できると仮定しています) - もしそうなら、どうすればUser
オブジェクトをオンに保つことができますか?私のモデルは、実際の User オブジェクト (ID だけでなく) を指すようになっています。現在ログインしているユーザーのユーザー ID を取得するにはどうすればよいですか?