Azure 如何禁用EF消息:上下文';上下文';开始跟踪';型号';实体。考虑使用
我正在Azure中查看asp.net core 2 EF core web api的应用程序日志流,我被消息轰炸了Azure 如何禁用EF消息:上下文';上下文';开始跟踪';型号';实体。考虑使用,azure,asp.net-core,entity-framework-core,Azure,Asp.net Core,Entity Framework Core,我正在Azure中查看asp.net core 2 EF core web api的应用程序日志流,我被消息轰炸了 Context 'Context' started tracking 'Model' entity. Consider using 'DbContextOptionsBuilder.EnableSensitiveDataLogging' to see key values. 有没有办法在我的代码中禁用/抑制这些消息而不关闭跟踪 编辑: 来自dbContextClass的代码 pu
Context 'Context' started tracking 'Model' entity. Consider using 'DbContextOptionsBuilder.EnableSensitiveDataLogging' to see key values.
有没有办法在我的代码中禁用/抑制这些消息而不关闭跟踪
编辑:
来自dbContextClass的代码
public class Context : DbContext
{
public Context (DbContextOptions<Context> options)
: base(options)
{
}
public DbSet<Model> Model { get; set; }
/*protected override void OnModelCreating(ModelBuilder modelBuilder)
{
// add your own confguration here
}*/
}
公共类上下文:DbContext
{
公共上下文(DbContextOptions选项)
:基本(选项)
{
}
公共数据库集模型{get;set;}
/*模型创建时受保护的覆盖无效(ModelBuilder ModelBuilder)
{
//在此处添加您自己的配置
}*/
}
当您在数据库中查询某些记录而不使用AsNoTracking
时,EF Core将开始在当前上下文中跟踪它AsNoTracking
是一种解决方案,因为您不希望EF Core跟踪对它的任何修改。在许多情况下,只要不在上下文中添加/附加/更新具有相同id的实体,就可以不使用AsNoTracking
。但是,当不需要跟踪时,显式地拥有它是很好的
有关更多详细信息,请参阅此
此外,该字段仅支持实体框架Core 2.1,您可以尝试升级EF Core版本。上下文类的代码是什么?@GertArnold post已更新。您可以显示日志记录配置吗?基本上,您需要关闭Microsoft.EntityFrameworkCore.ChangeTracking类别的日志记录。谢谢,但是AsNoTracking不是仅用于只读查询吗?如果我正在进行实际的数据库更新,那么更改不会被保存吗?