gpt4 book ai didi

c# - 如何使用代码迁移配置禁用延迟加载,Entity Framework 4.1

转载 作者:行者123 更新时间:2023-12-02 06:19:40 24 4
gpt4 key购买 nike

这是我用来配置数据库的代码:

 internal sealed class Configuration : DbMigrationsConfiguration<DataStore>
{
public Configuration()
{
AutomaticMigrationsEnabled = true;
SetSqlGenerator("System.Data.SqlServerCe.4.0", new SqlCeModelColumnBugWorkaroundProvider());

}

protected override void OnSeed(DbContext context)
{
context.Configuration.LazyLoadingEnabled = false;
new SeedData(context as DataStore);
}

public static void DoDatabaseInitialisation()
{
var setting = ConfigurationManager.AppSettings["RequiresDbUpdate"];
var requiresDbUpdate = bool.Parse(string.IsNullOrEmpty(setting) ? "false" : setting);

if (! requiresDbUpdate) return;

//otherwise create/update the database
var dbMigrator = new DbMigrator(new Configuration());
dbMigrator.Update();

ResetDbUpdateRequired("/");
}

private static void ResetDbUpdateRequired(string appPath)
{
var hostName = WebHelper.GetHost(false);

if (!hostName.Contains("localhost"))
WebHelper.UpdateWebConfigAppSetting("RequiresDbUpdate", "false", appPath);
}

如果有人知道如何做到这一点,请告诉我。我还在模型类上尝试过非虚拟属性,但这似乎没有任何区别。

最佳答案

我一直用

context.Configuration.LazyLoadingEnabled = false;

在使用 DbContext 方法之前调用它,等效的设置是这样的:

(context as IObjectContextAdapter).ObjectContext.ContextOptions.LazyLoadingEnabled = false;

关于c# - 如何使用代码迁移配置禁用延迟加载,Entity Framework 4.1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9033966/

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