gpt4 book ai didi

entity-framework - OnModelCreating - 强制新创建

转载 作者:行者123 更新时间:2023-12-04 12:23:00 24 4
gpt4 key购买 nike

在某些情况下,在应用程序运行期间,我需要打开身份插入:

modelBuilder.Entity<Activity>().Property(p => p.Id).HasDatabaseGeneratedOption(System.ComponentModel.DataAnnotations.Schema.DatabaseGeneratedOption.None);

但是,由于 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);

你应该尽量避免这种情况。身份插入不适用于 EF,因此您很可能必须直接使用 SQL 插入数据,而无需更改映射。

关于entity-framework - OnModelCreating - 强制新创建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13493199/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com