«Столб здесь не разрешен» в EF6 с TPH и Devart Oracle

1

При создании моей схемы БД с 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.

  • 0
    Может быть, это поможет: stackoverflow.com/questions/7393788/…
  • 0
    Моя проблема не в колонке дискриминатора как таковой, я знаю, для чего она используется в TPH, и я ничего не имею против ее существования. При вставке в SqlDeveloper я получаю сообщение об ошибке в строке 4 (объявление дискриминатора), в то время как все работает нормально, когда удаляется '(undefined)'. Так что я вполне уверен, что проблема заключается в sql, сгенерированном dotConnect. Я просто не знаю, почему он генерирует этот код.
Показать ещё 1 комментарий
Теги:
entity-framework-6
devart
dotconnect

1 ответ

0
Лучший ответ

Мы ответили вам на нашем форуме: http://forums.devart.com/viewtopic.php?f=1&t=29872#p102533.

  • 0
    Ура, ребята :)
  • 0
    Новая сборка dotConnect для Oracle 8.4.215 доступна для скачивания прямо сейчас! Его можно загрузить с devart.com/dotconnect/oracle/download.html (пробная версия) или из зоны зарегистрированных пользователей (только для пользователей с активной подпиской). Ошибка с созданием DDL для создания таблиц TPH, когда значение дискриминатора не установлено, в функциональности Code-First / Code-First Migrations исправлено в этой версии. Для получения дополнительной информации, пожалуйста, обратитесь к forums.devart.com/viewtopic.php?f=1&t=30078 .

Ещё вопросы

Сообщество Overcoder
Наверх
Меню