.net-core - .NetCore3.1 中的导航属性返回空值
问题描述
我将模型保存在数据库中,之后我需要向用户发送通知。
例如,我正在保存一个用户地址,在将地址保存在数据库中后,我需要向用户发送通知,地址已添加到消息中,我需要一些用户属性,这些属性应该可以从地址导航。
Entities
-----------------
public class User{
public int Id {get; set;}
public ICollection<Address> Users {get; set;}
}
public class Address{
public int Id {get; set;}
public string Name {get; set;}
public int UserId {get; set;}
public virtual User User {get; set;}
}
Address address = new Address(){name = "abc"};
unitOfWork.Repository.Add(address)
unitOfWork.Commit()
var savedAddress = unitOfWork.Repository.GetById(address.Id); <---- User Navigation property return null
但是,如果我尝试查找其他地址,则用户导航属性不为空,当我保存地址时它唯一的空,然后立即获取保存的地址用户导航属性为空。
延迟加载已启用。
解决方案
尝试这个:
Address address = new Address {Name = "abc", UserId=<existing user id> };
顺便修复一下名字:
public class User{
public int Id {get; set;}
public ICollection<Address> Addresses {get; set;}
}
推荐阅读
- uwp - WinUI 3.0 - 为什么 UWP 项目要求 MS Edge for Business 用于 WebView2
- java - 在 Android Studio 中将 Double 转换为颜色整数
- swift - 登录后快速加载仪表板的用户数据
- postgresql - java - 如何使用hibernate(springData)将java类型转换为postgres的域?
- string-concatenation - 在 String.Join() 之后,包含英语和希伯来字母的字符串变得混乱 - C# .NET
- python - 在 python 中使用 psycopg2 在参数化查询中输入字符串作为参数时出现问题
- r - omp 导致 R 崩溃
- html - 图像在移动设备(iPhone)上不保留纵横比
- javascript - div间滑动动画
- python - 如何处理普通python程序上的程序关闭事件?