有没有办法在EF Core Postgres JSON中使用列表?

希米·魏兹汉德(Shimmy Weitzhandler)

在PG中这是可能的:

public class Parent
{
  [Column(TypeName = "jsonb")]
  //Mode 1: a column in the table
  public Child[] Children { get; set; }
}

public class Child
{
  //Mode 2: a virtual column only existing in JSON
  public GrandChild[] GrandChildren { get; set; }
}

public class GrandChild
{
}

我的问题是,是否有一种方法可以内联使用其他CLR类型,而不是使用数组,例如List<T>HashSet<T>甚至justIList<T>ICollection<T>,以方便访问并避免每次我们要进行更改或避免定义时重新创建集合一堆其他代理属性。

我尝试设置HasConversion数组,但是没有用。

gn

如果启用type pluginsin,Npgsql.Json.NET则“自动”运行

NpgsqlConnection.GlobalTypeMapper.UseJsonNet();
using (var context = new MyContext(options.Options))
{
    var parent = new Parent()
    {
        Children = {
            new Child() {
                GrandChildren = {
                    new GrandChild() { Name = "A" },
                    new GrandChild() { Name = "B" }
                }
            }
        }
    };

    context.Add(parent);
    context.SaveChanges();

    foreach(var p in context.Parents.ToList()) {
        // This is just to print the whole object. You don't have to touch JSON.NET
        // yourself here, Npgsql will convert to/from .net types at 'the edges'.
        Console.WriteLine(Newtonsoft.Json.JsonConvert.SerializeObject(p));
    }       
}


// Using these definitions
class MyContext : DbContext
{
    public MyContext(DbContextOptions<MyContext> options)
       : base(options)
    { } 
    public DbSet<Parent> Parents { get; set; }
}
public class Parent
{
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public int Id { get; set; }

    [Column(TypeName = "jsonb")]
    public List<Child> Children { get; set; } = new List<Child>();
}    
public class Child
{
    public List<GrandChild> GrandChildren { get; set; } = new List<GrandChild>();
}    
public class GrandChild
{
    public string Name { get; set; }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

有没有办法在 .NET Core 上使用 ABBYY FRE

来自分类Dev

有没有办法将 .Net Core 2 appsettings.json 属性传递给主干组件?

来自分类Dev

有没有办法从已发布的DLL运行EF Core RC2工具?

来自分类Dev

有没有办法在Windows Server 2008 R2 Core上使用“ netsh跟踪”?

来自分类Dev

有没有办法在gnuplot中使用通配符?

来自分类Dev

有没有办法在MongoDB中使用HQL?

来自分类Dev

有没有办法在JavaScript中使用C ++?

来自分类Dev

有没有办法在tbl中使用重塑?

来自分类Dev

有没有办法在querySelector中使用*?

来自分类Dev

有没有办法在React中使用Wavify?

来自分类Dev

有没有办法在gnuplot中使用通配符?

来自分类Dev

C# - 有没有办法使用反射来概括 ASP.NET MVC Core 2.2 的每个可能视图模型的编辑视图

来自分类Dev

有没有办法摆脱列表理解?

来自分类Dev

有没有办法编辑SharePoint列表标题?

来自分类Dev

有没有办法将输入变成列表?

来自分类Dev

有没有办法获得EventEmmiter的动作列表?

来自分类Dev

有没有办法动态更新选项列表

来自分类Dev

有没有办法从JSON对象移除图层?

来自分类Dev

有没有办法合并这些json聚合?

来自分类Dev

有没有办法用 Python 修改 JSON?

来自分类Dev

有没有办法使用快速编写的cocoapod?

来自分类Dev

有没有办法使用OpenScad拉伸对象

来自分类Dev

有没有办法使用JS和ASP

来自分类Dev

有没有办法让Typescript使用默认参数?

来自分类Dev

有没有办法使用快速编写的cocoapod?

来自分类Dev

有没有办法用apexp使用regexp?

来自分类Dev

有没有办法改变使用的分区?

来自分类Dev

有没有办法使用Firebase检查凭证?

来自分类Dev

有没有办法多次使用 .innerHTML?

Related 相关文章

热门标签

归档