2014-06-26 1 views
1

Lors de la création de mon schéma de DB avec EF, Devart dotConnect génère l'instruction SQL suivante pour ma classe TPH:"colonne pas autorisée ici" dans EF6 avec TPH et Devart Oracle

CREATE TABLE "Types" ( 
    ID NUMBER(10) NOT NULL, 
    "Name" NVARCHAR2(50) NULL, 
    "Discriminator" NVARCHAR2(128) DEFAULT (Undefined) NULL, 
    CONSTRAINT "PK_Types" PRIMARY KEY (ID) 
) 

je reçois toujours un « ORA-00984 : colonne non autorisée ici "erreur. Cela semble assez évident, cela a quelque chose à voir avec 'undefined' dans la déclaration de la colonne discriminante. Est-ce un bug dans dotConnect ou ai-je fait quelque chose de mal avec la cartographie? Semble un cas assez simple. Il y a environ une douzaine de classes qui étendent AbstractType, mais aucune d'entre elles n'ajoute de nouvelles colonnes.

classe Mon POCO:

public abstract partial class AbstractType 
{ 
    public int Id { get; set; } 

    public string Name { get; set; } 
} 

Cartographie:

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"); 
    } 
} 

J'utilise EF 6.1.1, dotConnect Oracle 8.4.171 sur une 11g locale installation express.

+0

Peut-être que cela aide: http://stackoverflow.com/questions/7393788/entity-framework-code-first-creates-discriminator-column –

+0

Mon problème n'est pas la colonne de discriminateur en soi, je sais à quoi il sert dans TPH et je n'ai rien contre son existence. Lorsque collé dans SqlDeveloper, j'obtiens une erreur à la ligne 4 (déclaration discriminante), alors que tout fonctionne bien quand '(undefined)' est supprimé. Je suis donc sûr que le problème réside dans le sql généré par dotConnect. Je ne sais pas pourquoi ça génère ce code. – hoekki

+0

'default (Undefined)' est certainement faux dans Oracle –

Répondre

0

Nous vous avons répondu dans notre forum: http://forums.devart.com/viewtopic.php?f=1&t=29872#p102533.

+0

Cheers, guys :) – hoekki

+0

Nouvelle version de dotConnect pour Oracle 8.4.215 est disponible en téléchargement maintenant! Il peut être téléchargé à partir de http://www.devart.com/dotconnect/oracle/download.html (version d'évaluation) ou de Registered Users 'Area (pour les utilisateurs avec abonnement actif uniquement). Le bug de génération de DDL pour la création de tables TPH, lorsque la valeur du discriminateur n'est pas définie, dans la fonctionnalité Code-First/Code-First Migrations est corrigé dans cette version. Pour plus d'informations, veuillez vous référer à http://forums.devart.com/viewtopic.php?f=1&t=30078. – Devart

Questions connexes