gpt4 book ai didi

c# - 为 Entity Framework 4.3 禁用数据库初始化

转载 作者:行者123 更新时间:2023-11-30 14:36:29 24 4
gpt4 key购买 nike

我使用的是 EF 4.3.1,我有 100 多个上下文驱动 1 个基本上下文。对于所有上下文,我想禁用数据库初始化。

是否可以为 Entity Framework 设置默认行为?

提前致谢

最佳答案

//Gather all the DbContexts types in the assembly
var allDbContextsTypes = Assembly.GetExecutingAssembly().GetTypes().Where(t => t.BaseType == (typeof(DbContext))).ToList();

foreach (Type dbContextType in allDbContextsTypes)
{
//Get the SetInitializerMethod
MethodInfo initializerMethod = typeof(Database).GetMethod("SetInitializer");

//Make it generic! (Oh yeah)
MethodInfo dbContextInitializerMethod = initializerMethod.MakeGenericMethod(dbContextType);

//Invoke the method with null initializer
dbContextInitializerMethod.Invoke(null, new object[]{null});
}

最后,它给出了类似的东西:Database.SetInitializer<YourDbContext>(null);其中 YourDbContext 是循环中的当前 dbContext 类型

关于c# - 为 Entity Framework 4.3 禁用数据库初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10413296/

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