エンティティを追加した直後に、必要に応じて、新しく追加されたエンティティのプロパティが遅延ロードされないという問題があります。コードファーストエンティティが遅延ロードプロパティを追加しない
public class User
{
public int Id { get; set; }
public virtual JobRole JobRole { get; set; }
public int JobRoleId { get; set; }
public string Name { get; set; }
}
は、私は、新しいユーザーを追加します:私は、仮想JobRoleプロパティを持つUserエンティティを持っている
:たとえば
public User Add(User user)
{
var addedUser = _myContext.Users.Add(user);
myContext.SaveChanges();
return addedUser;
}
新しいユーザーに返された参照Razorビューに渡され、JobRole(JobRole.Nameなど)を表示しようとします。ユーザーがビューに渡される時点で、次のようになります。
- JobRoleIdが整数値に正しく設定されています。
- JobRole = nullを
ビューで使用されるとき、私はその後、JobRoleは怠惰なロードされるのを期待するだろうが、それがnull参照の例外で、結果ではありません。
これは予期された動作ですか、または新しく追加されたエンティティにプロパティの読み込みを遅延させる方法がありますか?
ありがとうございました。
環境: エンティティフレームワーク4.2コードファーストを使用する。 遅延読み込みが有効になっています。
私はこの問題を持っていた答えが正解です。しかし、私のコードはデータベースを最初に使用しています。だから私はあなたのタイトルを編集することをお勧めします。 –