c# - 合并多个选定列表的模型或结果
问题描述
我有两个模型,例如:
class Users
{
public string UName {get;set;}
public int UType_id {get;set;}
}
class User_types
{
public int UType_id {get;set;}
public string UType_name {get;set;}
}
我还有另一种从 db 中选择数据的方法,它返回数据列表,例如:
public List<T> getUsers()
{
string _query = "select * from Users";
...
...
return result;
}
public List<T> getUserTypes()
{
string _query = "select * from User_types";
...
...
return result;
}
我希望在 dataGrid 中显示该表的合并结果,如下面的 SQL 代码:
SELECT Users.UName, User_types.UType_name FROM Users
LEFT OUTER JOIN User_types ON Users.UType_id = User_types.UType_id
当我使用 WPF 和 MVVM 模式并且我有这么多模型和视图模型时,有什么办法可以做到这一点。
解决方案
如果您使用的是实体框架,您可以使用 Linq 加入表格并检索可以显示在视图中的网格中的数据,如下所示
var output= (from u in dataContext.Users
join ut in dataContext.User_types on u.UType_id equals ut.UType_id
select new {
u.UName,
ut.UType_name,
}).ToList();
推荐阅读
- c - 使用 Google Test 测试 C 函数
- c++ - 功能:没有为 std::vector 定义“查找”
- python - 会话未定义 BooFuzz
- jquery - 如何更改具有 id 列表的所有元素的类?
- php - 如何将图像组合(svg + PNG)保存为单个图像
- java - 在 log4j2 配置文件中使用 pom.xml SystemProperty
- python-3.x - 添加shebang导致没有这样的文件或目录错误
- android - React-Native:react-native-fast-image 不能与 react-native 一起正常工作,它会出错
- python - 从亚马逊刮掉标签
- flutter - How to do the design and also do increment and decrement for specific item in flutter