c# - 实体框架模型从另一个模型访问实体
问题描述
我有一个模型,MyQueue
但Service
我不知道如何正确地ServiceLetter
在Services
模型上将其渲染到我的视图中。
这是我的MyQueue
模型。
public class MyQueue
{
public int MyQueueId { get; set; }
public string Name { get; set; }
public string QueueNumber
{
get
{
return string.Format("{0}{1:000}", ServiceLetter ?? "?", MyQueueId);
}
set { }
}
public int ServiceId { get; set; }
public string ServiceLetter { get; set; }
public virtual Service Service { get; set; }
}
这是我的Service
模型
public class Service
{
public int ServiceId { get; set; }
public string ServiceName { get; set; }
public string ServiceLetter { get; set; }
}
在我dbo.MyQueues
的ServiceLetter
数据中只显示数字,我需要它成为我放在我的任何字母Service
我希望我MyQueue
是这样的,ServiceLetter 是 Letter 而不是 Number,
MyQueueId - 名称 - QueueNumber - ServiceId - ServiceLetter
- 1 - JohnDoe - A001 - 1 - A
- 2 - DoeJogn - B002 - 2 - B
- 3 - JognDog - C002 - 3 - C
解决方案
这很可能是因为您只查找 MyQueues 数据。您需要获取适当的服务模型。
在使用 Entityframework 与数据库交互时,需要使用 Include 函数。请参阅:https ://docs.microsoft.com/en-us/ef/ef6/querying/related-data
也看看加入。底部的示例似乎很好地解释了事情https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/join-clause