【发布时间】:2020-07-20 13:37:54
【问题描述】:
首先,XAML 和一般编程的新手。我正在尝试在 .cs 文件中填充 XAML 数据网格。
我使用的每个 SQL 表都有类,包含引用列的属性
public partial class TTDepartment
{
public TTDepartment()
{
this.TTEventLogs = new HashSet<TTEventLog>();
this.TTUserDepartments = new HashSet<TTUserDepartment>();
}
public string Department { get; set; }
public string Manager { get; set; }
public string ManagerEmail { get; set; }
public virtual ICollection<TTEventLog> TTEventLogs { get; set; }
public virtual ICollection<TTUserDepartment> TTUserDepartments { get; set; }
}
我目前正在做的是尝试在我的类上使用 LINQ 查询来检索数据,就像这样
(我知道可能有更好的方法来做到这一点)请帮助
private void GetDepartments()
{
using (var context = new CetusEntities())// New instance of Database class
{
var linqDept = context.TTDepartments.Where(s => s.Department != "" || s.Department != null); // Should return All Departments from TTDepartments Class?
//Populate colDept in Datagrid with results from LINQ
}
}
这是 Datagrid 的 XAML
<DataGrid x:Name="dgDept" Height="200">
<DataGrid.Columns>
<DataGridTextColumn x:Name="colDept" Binding="{Binding Source = {StaticResource Department}}" Header="Department"></DataGridTextColumn>
<DataGridTextColumn x:Name="colMan" Binding="{Binding Source = {StaticResource Department}}" Header="Manager"></DataGridTextColumn>
<!--<DataGridTextColumn Header="Email"></DataGridTextColumn>-->
</DataGrid.Columns>
</DataGrid>
【问题讨论】:
-
这不起作用还是什么?更好的方法是什么意思?
-
var linqDept 没有返回我想要访问的属性
-
请看我的回答。
-
我测试了你的 LINQ 查询,发现它仍然返回为空或 null 的部门,你有同样的问题吗?如果你用
var linqDept = TTDepartments.Where(x => !string.IsNullOrEmpty(x.Department));这个方法来排除Department属性为空或者null值的,能行吗?