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

时间:2015-07-09 11:35:31

标签: c# visual-studio-lightswitch lightswitch-2013

我想要实现的目标:

当用户在表格(EntryLine)中输入一行时,他们会输入说明和日期。现在在EntryLine的插入代码下的C#中,我可以使用这段代码:

    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方法(即星期三)将日期添加到数据库中

从长远来看,这将是低效的,那么有没有办法将那天(星期三)与表中的匹配字段相关联?然后将其分配给正确的ID?我会通过使用下面的ERD来做到这一点:

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

enter image description here

1 个答案:

答案 0 :(得分:1)

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

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

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

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

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

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