我有一个ASP.NET Core API
和一个WPF
项目(都是.NET6
)。我的API使用一个带有EntityFrameworkCore
的数据库,WPF项目是一个从API检索数据/向其发送数据的客户机。
型号
数据库包含从两个类生成的 * 两个表 *:Class1
和Class2
(简化说明)。
public class Class1
{
[Key]
public Guid Id { get; set; }
[ForeignKey(nameof(Class2))]
public Guid Class2Id { get; set; }
public string PropToDisplay1 { get; set; }
}
public class Class2
{
[Key]
public Guid Id { get; set; }
public string PropToDisplay2 { get; set; }
}
查看
我的客户端视图包含一个Datagrid
,我想用它来显示PropToDisplay1
和PropToDisplay2
。此视图的数据上下文当前仅包含链接到数据网格的Class1
中的List
。这将显示PropToDisplay1
和Class2Id
。现在我想将Class1
中的Class2Id
替换为Class2
中的PropToDisplay2
问题
我实现了第二个类,它继承自Class1
并包含Class2
属性。因此,我必须从我的API中分别获取这两个类,并将它们放在本地。这似乎不是关于Class2
中的更改的最佳选择,因为我必须获取比我想要的更多的内容以使所有内容都保持最新。
我发现的另一种方法是在服务器端连接这两个表,然后将它们传递给客户机。这似乎更好,但我不确定如何在我的客户端实现这一点,以允许编辑和减少冗余。
1条答案
按热度按时间czfnxgou1#
修改您的API端点以返回联接数据:创建一个端点,在
Class1
和Class2
上执行连接操作并返回所需数据。举例来说: