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 未使用Devart oracle dot connect 9将Varray数据类型映射到.net core实体_Asp.net Core_Entity Framework Core_Devart_Varray - Fatal编程技术网

Asp.net core 未使用Devart oracle dot connect 9将Varray数据类型映射到.net core实体

Asp.net core 未使用Devart oracle dot connect 9将Varray数据类型映射到.net core实体,asp.net-core,entity-framework-core,devart,varray,Asp.net Core,Entity Framework Core,Devart,Varray,我正在尝试使用MSEFCore 2.2.4中的Devart EFCore 9.8和oracle dot connect试用许可证从表(oracle db 12c)中获取数据。但是VARRAY列没有被映射。它抛出了一个异常- System.InvalidOperationException: The property 'TierInfoTemp.num_arr' is of type 'OracleType' which is not supported by current database

我正在尝试使用MSEFCore 2.2.4中的Devart EFCore 9.8和oracle dot connect试用许可证从表(oracle db 12c)中获取数据。但是VARRAY列没有被映射。它抛出了一个异常-

System.InvalidOperationException: The property 'TierInfoTemp.num_arr'
 is of type 'OracleType' which is not supported by current database 
provider. Either change the property CLR type or ignore the property
 using the '[NotMapped]' attribute or by using 'EntityTypeBuilder.
Ignore' in 'OnModelCreating'.
My DBContext.cs:

protected override void OnModelCreating(ModelBuilder modelBuilder)
        {
            modelBuilder.Entity<TierInfoTemp>(entity =>
            {
                OracleConnectionStringBuilder oraCSB = new OracleConnectionStringBuilder();
                oraCSB.Direct = true;
                oraCSB.Server = "xxx";
                oraCSB.Port = xxxx;
                oraCSB.Sid = "xxxx";
                oraCSB.UserId = "xxxx";
                oraCSB.Password = "xxx";
                entity.Property(e => e.num_arr).HasColumnType("VARRAY")
                .HasConversion<OracleType>();
            });
        }
        public DatabaseContext(DbContextOptions<DatabaseContext> options) : base(options)
        {
        }
        public virtual DbSet<TierInfoTemp> tier_info_temp { get; set; }

我做错什么了吗?如果需要更多详细信息,请发表评论。

Devart EF Core provider支持的Oracle数据类型列表可从以下网址获得:

目前EF Core不支持OracleType,但您可以通过普通ADO.NET使用它:

public class TierInfoTemp
    {
        [Column("TIER_ID")]
        [Key]
        public int tier_id { get; set; }
        [Column("TIER_NAME")]
        public string tier_name { get; set; }
        [Column("IS_ACTIVE")]
        public int is_active { get; set; }
        [Column("REGION_ID")]
        public int region_id { get; set; }
        [Column("NUM_ARR")]
        public OracleType num_arr { get; set; }  ///VARARY Field
    }