Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用Linq筛选主明细关系的明细记录_C#_Sql_Linq - Fatal编程技术网

C# 如何使用Linq筛选主明细关系的明细记录

C# 如何使用Linq筛选主明细关系的明细记录,c#,sql,linq,C#,Sql,Linq,我已经编写了自己的对象来表示我的SQL表,并包括外键关系,如下所示 [Table(Name = "tbl_employee")] public class employee { private EntitySet<workDay> _hours; public employee() { this._hours = new EntitySet<workDay>(OnDtlAdded, OnDtlremoved); }

我已经编写了自己的对象来表示我的SQL表,并包括外键关系,如下所示

[Table(Name = "tbl_employee")]
public class employee
{
    private EntitySet<workDay> _hours;
    public employee()
    {
        this._hours = new EntitySet<workDay>(OnDtlAdded, OnDtlremoved);
    }

    private void OnDtlAdded(workDay addedDtl) { addedDtl.Employee = this; }
    private void OnDtlremoved(workDay removedDtl) { removedDtl.Employee = null; }


    [Association(ThisKey = "employeeID", Storage = "_hours", OtherKey = "employeeID")]
    public EntitySet<workDay> Hours
    {
        get { return this._hours; }
        set { this._hours.Assign(value); }
    }

    [Column(IsPrimaryKey = true, IsDbGenerated = true)]
    public Int32 employeeID { get; set; }
    [Column]
    public String firstName { get; set; }
    [Column]
    public String nickName { get; set; }
    [Column]
    public String lastName { get; set; }
    [Column]
    public String idNumber { get; set; }

}

这允许我显示每个员工的小时数,而无需进一步编码。我希望获得相同的结果,但将小时数过滤到某个日期范围,我想知道是否有任何方法可以应用默认过滤器,当详细信息加载到“detail”dataGridView时可以应用该过滤器。

我已经放弃了这一点,因为我找不到实现它的方法。此外,似乎没有其他人知道如何做到这一点,也没有人研究过这个问题,或者这实际上是不可能的。感谢那些花时间或精力试图解决这个问题的人

此后,我在选择主datagridview中的一行时实现了过滤

var employees = from emp in db.Employees
                join empd in db.EmploymentDtls on emp.employeeID equals empd.employeeID
                where empd.termination == null && empd.deleted == 0 && emp.deleted == 0
                select emp;

dgvEmployees.DataSource = employees;
dgvHours.DataSource = employees;
dgvHours.DataMember = "Hours";