При создании моей схемы БД с EF Devart dotConnect генерирует следующий SQL для моего класса TPH:
CREATE TABLE "Types" (
ID NUMBER(10) NOT NULL,
"Name" NVARCHAR2(50) NULL,
"Discriminator" NVARCHAR2(128) DEFAULT (Undefined) NULL,
CONSTRAINT "PK_Types" PRIMARY KEY (ID)
)
Я всегда получаю ошибку "ORA-00984: column not allowed here". Кажется вполне очевидным, оно имеет какое-то отношение к "неопределенным" в объявлении столбца дискриминатора. Является ли это ошибкой в dotConnect или я сделал что-то неправильно с отображением? Это довольно простой случай. Существует около десятка классов, расширяющих AbstractType, но ни один из них не добавляет новые столбцы.
Мой класс POCO:
public abstract partial class AbstractType
{
public int Id { get; set; }
public string Name { get; set; }
}
Отображение:
public class AbstractTypeMap : EntityTypeConfiguration<AbstractType>
{
public AbstractTypeMap()
{
HasKey(t => t.Id);
ToTable("Types");
this.Property(t => t.Name).HasMaxLength(50);
this.Property(t => t.Id).HasColumnName("ID");
this.Property(t => t.Name).HasColumnName("Name");
}
}
Я использую EF 6.1.1, dotConnect Oracle 8.4.171 на локальной экспресс-установке 11g.
Мы ответили вам на нашем форуме: http://forums.devart.com/viewtopic.php?f=1&t=29872#p102533.