私は以前、エンティティフレームワークのコードでオブジェクトをテーブルに追加するコードを少し前に作成しました。オブジェクトをコンテキストに追加して関係からプロパティを取得
Context.Reactions.Attach(reaction);
Context.SaveChanges();
その後、私はProfileという名前の関係を使用して、反応を投稿したユーザーの名前を取得しました。
reaction.Profile.FirstName + " " + reaction.Profile.LastName
私は人の名前を取得しようとすると、しばらくしてからProfileにnull参照を取得します。
なぜ私はオブジェクトを追加できないのですか?そのあと、プロファイル関係を使用しますか?
編集: プロファイル関係プロパティでnull参照を取得しています。だから反応.Profileはそれがnullだと言います。同じインスタンスです。 Entity Frameworkは私に反応のidを与えて、savechanges()が機能するようにしました。 FirstNameを取得する行は、SaveChangesの直後の行で、コンテキストを正しく配置できないためですか?
完全なコード:
var reaction = new Reaction()
{
Text = reactionText,
ProfileId = CurrentProfileId,
PostedOn = DateTime.Now
};
//Save changes to the backend
context.Reactions.Add(reaction);
context.SaveChanges();
return Json(new
{
Id = reaction.Id,
ReactionType = reactionType,
ReactionTypeId = reactionTypeId,
ReactionText = reaction.Text,
PostedOn = reaction.PostedOn.ToString("G"),
ProfileName = string.Format("{0} {1}", reaction.Profile.FirstName, reaction.Profile.LastName)
});
私もその周りにこのコードをしようと試みました。
using (var context = new SeeTingsContext())
{
context.Configuration.LazyLoadingEnabled = true;
}
反応の同じインスタンスでnull参照例外が発生していますか?新しく質問されたものではない? – Betty
私は上記の質問を追加しました。 –