微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

System.Dynamic.Linq.Core + PostreSql调用date_part函数

如何解决System.Dynamic.Linq.Core + PostreSql调用date_part函数

大家好,抱歉我的英语不好!

我正在使用Entity Framework Core 5 + Postgre + dynamic linq core

做一些测试

我的DataContext定义如下:

 public class Context: DbContext {

    public DbSet<Models.Anagrafica> Anagrafiche {get; set; }

    protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
    {
        optionsBuilder.UseNpgsql(@"Host=XYZ;Database=XYZ;Username=XYZ;Password=XYZ");
        base.OnConfiguring(optionsBuilder);
    }

    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
        modelBuilder.Entity<Models.Anagrafica>().ToTable("Anagrafiche");
        modelBuilder.Entity<Models.Anagrafica>().Property(p => p.Id)HasColumnName("id");
        modelBuilder.Entity<Models.Anagrafica>().Property(p => p.Ragionesociale).HasColumnName ("ragionesociale");
        modelBuilder.Entity<Models.Anagrafica>().Property(p => p.DataAttivazione).HasColumnName("dataattivazione");
        base.OnModelCreating (modelBuilder);
    }
}

实体Anagrafica的定义如下:

public class Anagrafica {
    public int Id { get; set; }
    public string Ragionesociale { get; set; }
    public DateTime? DataAttivazione { get; set; }
}

问题: 可以在哪里使用date_part函数吗?

如果我运行代码

var data =  context.Anagrafiche.Where("date_part(\"week\",dataattivazione) = @0",1).ToList();

我收到错误消息

System.Linq.Dynamic.Core.Exceptions.ParseException:'类型'Anagrafica'中不存在适用的方法'date_part'

是否可以在Dynamic Linq中使用数据库功能和/或UDF? 如果可以的话,我错了吗?

谢谢!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。