我需要存储一个像这样的布尔矩阵:
public bool[][] Schedule { get; set; }
它在视图中起作用,但我无法在Entity Framework中正确存储它,因为它甚至不能在迁移时创建表。我该如何储存?
答案 0 :(得分:4)
就在数据库中实际存储此信息而言,以下格式将起作用:
输入数据库表(可选,使用枚举)
Id Type
1 Segunda
2 Terca
3 Quarta
4 Sexta
值数据库表
Id TimeFrom TimeTo TypeId Selected
1 8:00 9:00 1 1
2 8:00 9:00 2 1
3 8:00 9:00 3 1
4 8:00 9:00 4 1
5 8:00 9:00 5 1
6 9:00 10:00 1 0
7 9:00 10:00 2 0
8 9:00 10:00 3 1
9 9:00 10:00 4 0
10 9:00 10:00 5 0
11 10:00 11:00 1 1
12 10:00 11:00 2 1
13 10:00 11:00 3 1
14 10:00 11:00 4 1
15 10:00 11:00 5 1
以下域对象将支持此存储布局,例如:
public enum TypeEnum
{
Segunda = 1,
Terca = 2,
Quarta = 3,
Sexta = 4
}
public class Type
{
public int Id { get; set; }
public TypeEnum Type { get; set; }
}
public class Schedules
{
public int Id { get; set; }
public DateTime TimeFrom { get; set; }
public DateTime TimeTo { get; set; }
public TypeEnum TypeId { get; set; }
public bool Selected { get; set; }
}
如果您要为多个用户存储此信息,或者只是为了规范化数据,您可以将时间推断到另一个表中。
将这些值映射到合适的视图模型应该很容易从视图中来回映射。