我在理解 ASP MVC 和 C# 中的复杂数据类型与实体时遇到问题。我首先创建了以下类型,它并不意味着是一个实体(数据库表):
public class Period : IPeriod
{
public DateTime From { get; set; }
public DateTime To { get; set; }
}
我将此类型添加到模型中:
public class Event
{
public int ID { get; set; }
public string Title { get; set; }
public Period EventTime { get; set; }
}
这工作得很好。它似乎明白 Period 是一个复杂的类型,但不是一个实体。它只是将 EventTime_From 和 EventTime_To 列添加到 Event 表中。
但是,随后我通过删除接口、将类移动到不同的命名空间并向类添加方法来为 Period 类型增加了一些复杂性。突然,当试图重建数据库时,它突然被解释为一个实体类型,从而抛出一个缺少主键的异常。
这里的系统是什么?类何时被视为复杂类型,何时被视为实体?