c# - MVVM + 实体框架
问题描述
我有模型“约会”
public class Appointment
{
public int Id { get; set; }
public int BranchId { get; set; }
public int ClientId { get; set; }
public int StaffId { get; set; }
public int ServiceId { get; set; }
public DateTime Date { get; set; }
public TimeSpan StartTime { get; set; }
public TimeSpan EndTime { get; set; }
public decimal Price { get; set; }
public string Notes { get; set; }
public int Status { get; set; }
public DateTime? Checkout { get; set; }
public virtual Branch Branch { get; set; }
public virtual Client Client { get; set; }
public virtual Service Service { get; set; }
public virtual Employee Staff { get; set; }
}
这是 View(WPF) 中的 DataGrid
<DataGrid
x:Name="DataGridCalendar"
Grid.Row="1"
Grid.ColumnSpan="8"
AutoGenerateColumns="False"
CanUserAddRows="False"
ItemsSource="{Binding Appointments}"
SelectedItem="{Binding SelectedItem}">
<DataGrid.RowStyle>
<Style TargetType="DataGridRow">
<Style.Triggers>
<DataTrigger Binding="{Binding Status}" Value="1">
<Setter Property="Background" Value="#3FCB23 " />
</DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="0">
<Setter Property="Background" Value="#F35656 " />
</DataTrigger>
</Style.Triggers>
</Style>
</DataGrid.RowStyle>
<DataGrid.Columns>
<DataGridTextColumn
Width="*"
Binding="{Binding Path=StartTime}"
Header="StartTime"
HeaderStyle="{StaticResource CenterGridHeaderStyle}"
IsReadOnly="True" />
<DataGridTextColumn
Width="*"
Binding="{Binding Path=EndTime}"
Header="EndTime"
HeaderStyle="{StaticResource CenterGridHeaderStyle}"
IsReadOnly="True" />
<DataGridTextColumn
Width="*"
Binding="{Binding Path=StaffId}"
Header="Employee"
HeaderStyle="{StaticResource CenterGridHeaderStyle}"
IsReadOnly="True" />
<DataGridTextColumn
Width="*"
Binding="{Binding Path=Client.Fullname}"
Header="Client"
HeaderStyle="{StaticResource CenterGridHeaderStyle}"
IsReadOnly="True" />
<DataGridTextColumn
Width="*"
Binding="{Binding Path=ServiceId}"
Header="Service"
HeaderStyle="{StaticResource CenterGridHeaderStyle}"
IsReadOnly="True" />
<DataGridTextColumn
Width="*"
Binding="{Binding Path=Price}"
Header="Price"
HeaderStyle="{StaticResource CenterGridHeaderStyle}"
IsReadOnly="True" />
<DataGridTextColumn
Width="*"
Binding="{Binding Path=Notes}"
Header="Note"
HeaderStyle="{StaticResource CenterGridHeaderStyle}"
IsReadOnly="True" />
<DataGridTextColumn
x:Name="Status"
Width="*"
Binding="{Binding Path=Status}"
Header="Status"
HeaderStyle="{StaticResource CenterGridHeaderStyle}"
IsReadOnly="False" />
</DataGrid.Columns>
</DataGrid>
在数据库中,客户、员工等通过外键与约会表绑定
数据网格显示客户、员工等的id,如何显示姓名和姓氏?
这是一块 ViewModel
class CalendarViewModel : BaseViewModel
{
private List<Appointment> appointment;
public List<Appointment> Appointments { get => appointment; set => OnChanged(out appointment, value); }
private async void UpdateTable()
{
using BeautySalonDBContext db = new BeautySalonDBContext();
await db.Appointments.LoadAsync();
Appointments = db.Appointments.Local.ToList();
}
如何按 ID 连接这些表并在窗口中显示名字和姓氏?
解决方案
推荐阅读
- google-app-engine - 如何在 GCP App Engine 上的域中添加记录?
- sql - RANK() 函数为每次运行动态创建排名
- installation - 仅当用户选择时才使用 Inno Setup 下载文件
- python - 如何通过 Python 使用 Selenium 从标签中提取所有文本
- php - “如何解决问题” number_format 错误
- hibernate - Select distinct with order by 复制到数据库时运行正常,但从应用程序运行时失败
- c# - 如何在 Azure WebApp git 部署上将配置设置传递给 donet build 命令?
- python - 使用cmd在python中安装jsonlib时出错
- java - Elasticsearch GetResponse.getField 抛出 NullPointerException
- python - 在数据框中显示重复值 - >键错误