Ale*_* B. 1 c# entity-framework-core .net-core
我有两个不同的实体,两者都可以没有其他实体:联系(可以是一个人,一个公司,一个学校等)和老师(不是真的,但为了理解问题).
两个实体都可以存在于数据库中,彼此之间没有引用.但是,教师可能是也可能不是联系人.我有房产ContactId?在教师和数据库上相应的可空字段,但没有定义FK(不知道是什么,不知道我是否可以改变这一点,也不知道这里是否重要).
当我检索联系人时,我想检索教师记录(如果它存在),并且它不起作用.目前没有错误,但它没有检索教师数据.这是我的课程:
public partial class Contact
{
public int Id { get; set; }
[InverseProperty("Contact")]
public virtual Teacher Teacher { get; set; }
}
public partial class Teacher
{
public int TId { get; set; } // don't ask about the property name :(
public int? ContactId { get; set; }
[ForeignKey("ContactId")]
[InverseProperty("Teacher")]
public virtual Contact Contact { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
任何帮助或想法将不胜感激!
小智 5
对不起,还不能评论,所以添加这个作为答案.
您的数据是否正确存储在数据库中?如果是,那么它只是一个查询问题.请记住,您需要显式加载(.Include)要从数据库中检索的属性.不幸的是,此时Entity Framework没有像以前的版本一样进行延迟加载.
例:
.Include(contact => contact.Teacher)
.Include(teacher => teacher.Contact)
Run Code Online (Sandbox Code Playgroud)
如果您正在处理ICollection<Contact>或者ICollection<Teacher>您可以使用相同的包含属性,但子属性可能不会显示在Intellisense中.
| 归档时间: |
|
| 查看次数: |
288 次 |
| 最近记录: |