我正在使用一个实体创建一个非常简单的 EF4 代码优先项目。
public class Activity
{
public Guid Id { get; set; }
public string Description { get; set; }
public List<DateTime> DateDone { get; set; }
<snip>
public Activity()
{
if(DateDone==null)
DateDone = new List<DateTime>();
}
}
我重建我的项目然后运行 MVC3 应用程序和数据库生成(确认,我已经添加和删除列),我的数据被播种(当我修改播种数据时它在屏幕上发生变化)
我能够:
var activity = db.Activities.Find(id);
activity.DateDone = DateTime.Now;
db.SaveChanges();
但是数据没有保存。我已经检查了数据库,因为只有一个表(事件)并且它具有所有适当的字段。我希望它应该有第二个表,ActivityDateDone 有两个字段,ActivityGuid 和 DateDone。
我在完成这项工作时缺少什么?
最佳答案
Entity Framework 不支持原始类型的集合。
您需要定义一个单独的类来保存日期时间。
关于c# - EF 代码首先 List<DateTime> 不创建表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8332183/