Lightswitch HTML - 根据日期字段添加外键 (C#)

Lightswitch HTML - add foreign key based upon date field (C#)

我想要达到的目标:

当用户在 table (EntryLine) 中输入一行时,他们会输入描述和日期。现在在 C# 的 EntryLine 插入代码下,我可以使用这个代码:

    partial void EntryLine_Inserting(EntryLine entity)
    {

        if (entity.Day == null)
        {
            DateTime getDay = Convert.ToDateTime(entity.EntryDate);                
            entity.Day = getDay.ToString("dddd");

            //entity.Day = getDate
        }

    }

现在上面这段代码所做的是获取用户输入的日期,然后使用 .ToString 方法(即星期三)将日期添加到数据库中

在长 运行 中,这将是低效的,所以有没有一种方法可以将那一天(星期三)与 Day [=28= 中的匹配字段相关联]?然后将其分配给正确的 ID?我将使用以下 ERD 来执行此操作:

  DayName    ID
  Monday      1
  Tuesday     2
  Wednesday   3
  Thursday    4
  Friday      5
  Saturday    6
  Sunday      7

一种选择是使用 DayOfWeek 属性,如下所示:-

partial void EntryLines_Inserting(EntryLine entity)
{            
    entity.Day = Days_SingleOrDefault((int)entity.EntryDate.DayOfWeek);
}

这要求您的 Day table 中的 ID 反映以下 DayOfWeek 枚举值:-

DayName    ID
Sunday      0
Monday      1
Tuesday     2
Wednesday   3
Thursday    4
Friday      5
Saturday    6

或者,您可以使用下面的方法,该方法基于在您的 Day table 中识别匹配的 DayName:-

partial void EntryLines_Inserting(EntryLine entity)
{
    var dow = entity.EntryDate.DayOfWeek.ToString();
    entity.Day = Days.Where(d => d.DayName == dow).SingleOrDefault();
}