0
我有编码代表我的SQL表我自己的对象,其中包括如下如何筛选详细记录了主从关系使用LINQ
[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; }
}
这一切能够完美的一个外键关系,我可以很容易地访问来自Hours实体集的详细记录。我想知道是否可以根据某些标准自动过滤详细信息。这样做的原因是,我显示一个“主/从” 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";
这使我没有任何进一步的编码,以显示每个雇员的时间。我想达到相同的结果,但过滤到特定日期范围的小时数,我想知道是否有任何方法可以应用默认过滤器,可以在细节加载到“详细”dataGridView时应用。