在 Lightswitch HTML 中使用 C# 获取数据集 属性

Get Dataset Property with C# in Lightswitch HTML

我有一个 Lightswitch HTML 应用程序,它需要在添加屏幕上使用默认值。

I want to pass the value of EmployeeID from my dataset TBG_V_KeepInTimesheet_Detail as the default EmployeeID value when inserting new records.

我的数据集使用逻辑

过滤
partial void TBG_V_KeepInTimeSheet_Details_Filter(ref Expression<Func<TBG_V_KeepInTimeSheet_Detail, bool>> filter)
    {
        // filter = e => e.IntegerProperty == 0;

        filter = e => e.UserLogin == this.Application.User.Name;
    }

此过滤器使用他们的 Windows 登录名和 returns 具有多个记录但只有 1 个不同 EmployeeID 的数据集。我想通过 EmployeeID 以便我在报告时不需要对 Windows 登录进行转换。

我相信这个问题有一个简单的 C# 解决方案,但作为新手我不知道如何声明必要的方法。 这是成功默认 CreatedByCreateDate 值的代码,我也想在其中实现 EmployeeID 默认值

partial void TBG_KeepInTimesheets_Inserting(TBG_KeepInTimesheet entity)
    {
        entity.CreatedBy = this.Application.User.Name;
        entity.CreateDate = DateTime.Now;
        entity.EmployeeID = LightSwitchApplication.TBG_V_KeepInTimeSheet_Detail.EmployeeID.get;
    }

通过利用您现有的过滤器(并假设您的数据源称为 ApplicationData),您应该能够按如下方式实现:-

partial void TBG_KeepInTimesheets_Inserting(TBG_KeepInTimesheet entity)
{
    entity.CreatedBy = this.Application.User.Name;
    entity.CreateDate = DateTime.Now;
    entity.EmployeeID = DataWorkspace.ApplicationData.TBG_V_KeepInTimeSheet_Details.FirstOrDefault().EmployeeID;
}