Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net core 如何查看从[EnableQuery]生成的ODataSQL_Asp.net Core_Odata - Fatal编程技术网

Asp.net core 如何查看从[EnableQuery]生成的ODataSQL

Asp.net core 如何查看从[EnableQuery]生成的ODataSQL,asp.net-core,odata,Asp.net Core,Odata,使用:Visual Studio代码、ASP.NET Core 3.1、Microsoft.AspNetCore.OData 7.4.0-beta 我是OData新手,希望了解一种检查[EnableQuery]操作生成的SQL语句的方法。我没有数据库探查器,也看不到如何记录或拦截SQL的选项。我希望这样做可以确保像/api/people(30)?$select=name,title这样的OData查询在执行时只选择name和title列,而不是所有列。随着事情变得越来越复杂,我似乎很容易无意中过

使用:Visual Studio代码、ASP.NET Core 3.1、Microsoft.AspNetCore.OData 7.4.0-beta


我是OData新手,希望了解一种检查[EnableQuery]操作生成的SQL语句的方法。我没有数据库探查器,也看不到如何记录或拦截SQL的选项。我希望这样做可以确保像/api/people(30)?$select=name,title这样的OData查询在执行时只选择name和title列,而不是所有列。随着事情变得越来越复杂,我似乎很容易无意中过早地具体化查询。或者在任何情况下,我只是想看看SQL。我喜欢EntityFramework核心如何连接到ASP.NET日志中。我找不到这样的东西给小田。谢谢

一个好方法是在初始化期间将
记录器
分配给
DbContextOptions
。下面的示例将SQL生成的代码输出到控制台

public void ConfigureServices(IServiceCollection services)
{
    ILoggerFactory dbLoggerFactory = LoggerFactory.Create(builder => { builder.AddConsole(); });

    services.AddDbContext<ApplicationDbContext>(
        options =>
        {
            options.UseSqlite(Configuration.GetConnectionString("DefaultConnection"))
                .UseLoggerFactory(dbLoggerFactory);
        }
    );

    //... other services configuration...
}
public void配置服务(IServiceCollection服务)
{
ILoggerFactory dbLoggerFactory=LoggerFactory.Create(builder=>{builder.AddConsole();});

services.AddDbContext

一个好方法是在初始化期间将
记录器
分配给
DbContextOptions
。以下示例将SQL生成的代码输出到控制台

public void ConfigureServices(IServiceCollection services)
{
    ILoggerFactory dbLoggerFactory = LoggerFactory.Create(builder => { builder.AddConsole(); });

    services.AddDbContext<ApplicationDbContext>(
        options =>
        {
            options.UseSqlite(Configuration.GetConnectionString("DefaultConnection"))
                .UseLoggerFactory(dbLoggerFactory);
        }
    );

    //... other services configuration...
}
public void配置服务(IServiceCollection服务)
{
ILoggerFactory dbLoggerFactory=LoggerFactory.Create(builder=>{builder.AddConsole();});
services.AddDbContext