我正在尝试使用Entity Framework SQL Debug Feature
,但是我遇到了以下错误,如何修复它?
代码: -
DbContext.Database.Log = s => System.Diagnostics.Debug.WriteLine(s);
错误: -
An object reference is required for the non-static field ,method or property 'System.Data.Entity.DbContext.Database.get'
答案 0 :(得分:1)
您使用的是DbContext
类型,您应该使用该类型的实例。例如,在配置DbContext
的地方,尝试调用这样的方法:
dbContext.Database.Log = s => Debug.WriteLine(s);
将dbContext
变量替换为您的变量名称。
修改强>
您的上下文定义应如下所示:
public class MyDbContext: DbContext //IdentityDbContext
{
public MyDbContext() : base("name=ConnectionStringNameFrom .config")
{
Database.Log = e => Debug.WriteLine(e);
//or you can define it like this: Database.Log = Console.WriteLine;
}
//{...} your DbSets properties
//protected override void OnModelCreating(DbModelBuilder modelBuilder)
//{
// {...}
//}
}
现在,如果您使用此db上下文示例,则在调试应用程序时,您应该在输出窗口中看到EF执行的查询。