Entity FrameWork 数据库表名是动态变化 的有关问题,OnModelCreating方法不执行
Entity FrameWork 数据库表名是动态变化 的问题,OnModelCreating方法不执行

如图,数据库的表名是tab_sensor_+日期每天更新表名,这时候用Entity Framework访问数据库的时候就涉及到动态映射表名,我再网上查到一个办法是
重载OnModelCreating,里面写上数据库与实体映射关系,但是我运行的时候OnModelCreating这个方法根本断电不到,也就是说OnModelCreating一直没有执行,这是为什么呢?
或者各位还有什么比较好的办法解决动态表名的问题么?
------解决方案--------------------
我觉得OnModelCreating这个方法只有在你第一次启动模型的时候才能进去。。
如图,数据库的表名是tab_sensor_+日期每天更新表名,这时候用Entity Framework访问数据库的时候就涉及到动态映射表名,我再网上查到一个办法是
public HNSServerEntities()
: base("name=HNSServerEntities")
{
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();//移除复数表名的契约
modelBuilder.Conventions.Remove<IncludeMetadataConvention>();//移除对MetaData表的查询验证,要不然每次都要访问EdmMetadata这个表
//数据库与实体映射
modelBuilder.Entity<TAB_SENSOR>().ToTable("tab_sensor_20130529");
//throw new UnintentionalCodeFirstException();
}
重载OnModelCreating,里面写上数据库与实体映射关系,但是我运行的时候OnModelCreating这个方法根本断电不到,也就是说OnModelCreating一直没有执行,这是为什么呢?
或者各位还有什么比较好的办法解决动态表名的问题么?
------解决方案--------------------
我觉得OnModelCreating这个方法只有在你第一次启动模型的时候才能进去。。