PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

एंटिटी फ्रेमवर्क कोर पोस्टग्रेएसक्यूएल जेसन क्वेरी

मुझे लगता है कि आप निम्न जैसा कुछ ढूंढ रहे हैं:

class Program
{
    static async Task Main(string[] args)
    {
        await using var ctx = new BlogContext();
        await ctx.Database.EnsureDeletedAsync();
        await ctx.Database.EnsureCreatedAsync();

        var lang = "es";

        var collection = await ctx.Settings
            .Where(s => EF.Functions.JsonExists(s.SettingValue, lang))
            .Select(s => new
            {
                s.SettingId,
                s.SettingParentId,
                SettingValue = s.SettingValue.GetProperty(lang).GetString()
            })
            .ToListAsync();

        foreach (var i in collection)
        {
            Console.WriteLine($"{i.SettingId}: {i.SettingValue}");
        }
    }
}

public class BlogContext : DbContext
{
    public DbSet<Setting> Settings { get; set; }

    static ILoggerFactory ContextLoggerFactory
        => LoggerFactory.Create(b => b.AddConsole().AddFilter("", LogLevel.Information));

    protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
        => optionsBuilder
            .UseNpgsql(@"Host=localhost;Username=test;Password=test")
            .EnableSensitiveDataLogging()
            .UseLoggerFactory(ContextLoggerFactory);

    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
        modelBuilder.Entity<Setting>().HasData(new Setting
        {
            SettingId = "1",
            SettingValue = JsonDocument.Parse(@"{ ""es"" : ""valor""}").RootElement
        });
    }
}

public class Setting
{
    public string SettingId { get; set; }
    public string SettingParentId { get; set; }
    public JsonElement SettingValue { get; set; }
}



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PostgreSQL का उपयोग करके पिछले 24 घंटों के रिकॉर्ड का चयन कैसे करें

  2. Postgresql अद्वितीय मूल्य के साथ यादृच्छिक चुनें

  3. Linux पर PostgreSQL initdb (डेटाबेस आरंभीकरण)

  4. मेरे मामले में क्या गलत है?

  5. पोस्टग्रेएसक्यूएल आईएफ स्टेटमेंट