首页 > 解决方案 > 合并多个选定列表的模型或结果

问题描述

我有两个模型,例如:

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 模式并且我有这么多模型和视图模型时,有什么办法可以做到这一点。

标签: c#wpfmvvmmodel

解决方案


如果您使用的是实体框架,您可以使用 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();

推荐阅读