Gor*_*ran 7 entity-framework ef-code-first entity-framework-5
在某些情况下,在应用程序运行期间,我需要打开身份插入:
modelBuilder.Entity<Activity>().Property(p => p.Id).HasDatabaseGeneratedOption(System.ComponentModel.DataAnnotations.Schema.DatabaseGeneratedOption.None);
Run Code Online (Sandbox Code Playgroud)
但是,由于OnModelCreating只执行一次,实现这一目标的最佳方法是什么?是否有可能重建模型?
OnModelCreating将始终只调用一次.如果需要重新创建模型,则必须手动创建DbModelBuilder.
var builder = new DbModelBuilder(DbModelBuilderVersion.Latest);
// setup whole model
DbModel model = builder.Build(connection);
DbCompiledModel compiledModel = model.Compile();
// cache compiledModel for future usage - compilation is very expensive
var context = new DbContext(compiledModel);
Run Code Online (Sandbox Code Playgroud)
你应该尽量避免这种情况.标识插入在EF中不能很好地工作,因此您很可能必须直接使用SQL插入数据,而不需要更改映射.
| 归档时间: |
|
| 查看次数: |
2474 次 |
| 最近记录: |