这是我目前的EF核心设置。
电话型号
[ForeignKey("TelNoTypeID")]
public int? TelNoTypeID { get; set; }
public DropDown TelNoType { get; set; }
人物模型
public ICollection<Telephone> TelephoneIDs { get; set; }
我也尝试过使用
public virtual ICollection<Telephone> TelephoneIDs { get; set; }
DropDown模型
public int DropDownID { get; set; }
public string DisplayText { get; set; }
人员控制器
public async Task<IActionResult> Details(int? id)
{
var person = await _context.Persons
.Include(p => p.Gender)
.Include(p => p.Title)
.Include(p => p.AddressIDs)
.Include(p => p.TelephoneIDs)
.SingleOrDefaultAsync(m => m.PersonID == id);
因此,针对Person模型存储了一组电话号码。
从数据库返回并在屏幕上显示字段
中的数值Telephones.TelNoTypeID
与我所拥有的等价的SQL是
select Telephones.TelNoTypeID from Person
inner join Telephones on Telephones.PersonID = Person.PersonID
我需要显示链接的文本值,而不是存储在
中DropDown.displaytext
我需要的等价SQL是
select DropDown.displaytext from Person
inner join Telephones on Telephones.PersonID = Person.PersonID
inner join DropDown on DropDown.DropDownID = Telephones.TelNoTypeID
我尝试过使用
.ThenInclude(p => p.<something>)
但Dot符号只是指通用集合属性/方法,而不是回到我的人,下拉列表或电话模型
我已将Person模型直接链接到Dropdown模型,使用并显示dropdown.displaytext
人物模型
[ForeignKey("GenderID")]
public int? GenderID { get; set; }
public virtual DropDown Gender { get; set; }
但是尽管将相同的代码放入电话,它仍无法正常工作
如何将第三个模型(DropDown)链接到第二个模型(电话)?
由于
答案 0 :(得分:-2)
我试图链接到DropDown模型,结果我需要链接到属性,所以
cart
我不明白为什么,我推测它是因为三个模型和ThenInclude之间已经存在链接指向我试图链接的确切属性/到。