我正在Entity Framework / C#中创建一个调度应用程序。
按工作和每周为员工分配小时数。因此,员工A可能被分配到Job500,在截至5月19日的每周40小时,5月26日30小时/周,等等。员工A也可能在5月26日周末10小时内被分配到Job501。
我为调度创建主表的方式如下:
jobID | userID | hours | week-ending
500 EmployeeA 40 may-19-2017
500 EmployeeA 30 may-26-2017
501 EmployeeA 10 may-26-2017
500 EmployeeB 40 may-19-2017
EF模型:
public class Schedule
{
public int ID { get; set; }
public int JobID { get; set; }
public int UserID { get; set; }
public decimal hours { get; set; }
public DateTime week_ending { get; set; }
public virtual Job job { get; set; }
public virtual User user { get; set; }
我们的想法是,最终,数据会显示在可编辑 HTML表格中,如下所示:
JOB 500
userID | May 19 | May 26 | June 2 | ........
EmployeeA 40 30
EmployeeB 30
首先,数据将被选中WHERE jobID = the_job_being_viewed
。
Microsoft提供了有关如何透视EF数据的代码示例:https://code.msdn.microsoft.com/windowsdesktop/CSEFPivotOperation-cbdd79db,但我不知道用户如何在数据透视表中输入新的小时值。我想使用jQuery DataTable Editor插件( https://editor.datatables.net/ ),但看起来它无法编辑透视表。
我的问题可归纳如下:如何操作Schedule模型来创建可编辑表,如上面的第三个代码块所示?我对商业解决方案持开放态度。