我觉得这对你们很多人来说非常明显,但我的研究让我无处可去。 我正在尝试构建一个类,该类将创建具有如下属性列表的对象:
public class MyObject
{
[Key]
public int Id { get; set; }
public string Title { get; set; }
public List<OpenHours> OpenHours { get; set; }
public Filter Filters { get; set; }
}
我希望 OpenHours 对象存储每日小时列表,以便通过 MyObject.OpenHours [index] .property 来访问它们。
我目前收到的错误是OpenHours对象没有定义的密钥,但我实际上并不希望它作为一个不同的实体存在于我的数据库中,我只是希望它存储属性就像我直接在MyObject类中列出每个weekDay属性一样。
这是OpenHours课程:
public class OpenHours
{
public DayOfWeek Day { get; set; }
public string StartTime { get; set; }
public string EndTime { get; set; }
}
我想要我的每一个&#34; MyObject&#34;对象具有唯一的OpenHours值,因此我不想为它创建一个Id。 我在语法中遗漏了什么,或者这样做是不是很糟糕?
提前感谢您的回答!
编辑:之后有人回答并删除了他的回答,所以我无法将其标记为正确答案,但解决方法是将[ComplexType]添加到我的班级:
[ComplexType]
public class OpenHours
{
public DayOfWeek Day { get; set; }
public string StartTime { get; set; }
public string EndTime { get; set; }
}
答案 0 :(得分:2)
如果每个条目都是唯一的,那么如果您不想引入id,请创建复合主键。将所有属性设为主键。这在DB术语中效率低于仅创建Id作为主键。
答案 1 :(得分:0)
之后有人回答并删除了他的答案,所以我无法将其标记为正确的答案,但解决方法是将 [ComplexType] 添加到我的班级:
[ComplexType]
public class OpenHours
{
public DayOfWeek Day { get; set; }
public string StartTime { get; set; }
public string EndTime { get; set; }
}
有关复杂类型的其他信息的链接: