myesn

myEsn2E9

hi
github

EF Core: ToQueryString() メソッドを使用して、LINQ を SQL に変換します。

介绍#

Entity Framework 5.0 から ToQueryString() が提供されています。これはプロバイダー固有の SQL を返し、データベースサーバーに接続する必要もありません。これは Entity Framework の ToTraceString() に似ています。

示例#

using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.DependencyInjection;

var services = new ServiceCollection()
    .AddDbContext<MyDbContext>(options => options.UseSqlite());
var dbContext = services
    .BuildServiceProvider()
    .CreateScope()
    .ServiceProvider
    .GetRequiredService<MyDbContext>();

var namePrefix = "bob";
var query = dbContext.Customers.Where(x => x.Name.StartsWith(namePrefix));
var sql = query.ToQueryString();
Console.WriteLine(sql);

Console.ReadKey();

record Customer(int Id, string Name);
class MyDbContext : DbContext
{
    public MyDbContext(DbContextOptions<MyDbContext> options) : base(options) { }

    public DbSet<Customer> Customers { get; set; }
}

出力結果:
image

参考#

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。