Entity framework EF 4.3(代码优先)-自定义ICollection无法捕获新项目

Entity framework EF 4.3(代码优先)-自定义ICollection无法捕获新项目,entity-framework,ef-code-first,Entity Framework,Ef Code First,这是关于我所问的问题。正如所建议的,我创建了一个自定义集合,该集合继承自集合,如下所示 公共类EntityCollection:集合 { 受保护的覆盖无效插入项(int索引,T项) { 基本插入项(索引,项目); } } 这被用作 公共类数据库应用程序 { 公共数据库应用程序() { exceptionOcurrences=新实体集合(); } 公共虚拟指定ID{get;set;} 公共虚拟字符串主题{get;set;} 公共虚拟字符串体{get;set;} 公共虚拟日期时间开始{get;se

这是关于我所问的问题。正如所建议的,我创建了一个自定义集合,该集合继承自集合,如下所示

公共类EntityCollection:集合
{
受保护的覆盖无效插入项(int索引,T项)
{
基本插入项(索引,项目);
}
}
这被用作

公共类数据库应用程序
{
公共数据库应用程序()
{
exceptionOcurrences=新实体集合();
}
公共虚拟指定ID{get;set;}
公共虚拟字符串主题{get;set;}
公共虚拟字符串体{get;set;}
公共虚拟日期时间开始{get;set;}
公共虚拟日期时间结束{get;set;}
私人收集例外情况;
公共虚拟ICollection例外事件
{
获取{return exceptionOcurrences;}
设置{exceptionOcurrences=value;}
}
}
问题是,如果我使用自定义初始化器(下面的示例代码)初始化数据库并重写seed方法,那么被重写的InsertItem方法似乎只有一次被调用!!我做错了什么

干杯 腹肌

公共类ContextInitializer:DropCreateDatabaseAlways
{
受保护的覆盖无效种子(上下文)
{
新名单
{
新的dbappoint{Subject=“hello”,Body=“world”,Start=DateTime.Now,End=DateTime.Now.AddMinutes(30)},
}.ForEach(a=>context.appoints.Add(a));
新名单
{
new DbExceptionOcurrence{ExceptionDate=DateTime.Now}
}.ForEach(eo=>context.exceptioncurrences.Add(eo));
种子(上下文);
}
}

是否可以尝试将类定义中的
ICollection
替换为
EntityCollection
,并测试它是否有用?而且:名称
EntityCollection
不是最佳选择,因为EF已经有一个具有该名称的类型。。。并不是因为类文件中有一些
使用了
语句,所以构造函数使用了该类型…@Slauma:谢谢。。。这项功能现在运行良好:)