none
problème de configuration d'un clé étrangère RRS feed

  • Question

  • je suis en train de développer une application web e je me suis bloquée sur cette erreur , en effet j'ai pas compris exactement l'erreur , s'il vous pouvez m'aider et m'explique de quoi s'agit il le problème , merci d'avance 

    The property 'idplan' cannot be configured as a navigation property. The property must be a valid entity type and the property should have a non-abstract getter and setter. For collection properties the type must implement ICollection<T> where T is a valid entity type.

    jeudi 31 mars 2016 00:23

Réponses

  • Bonjour,

    Vous devez sans doute utiliser Entity Framework. Et dans votre base de données, votre entité possède une propriété idplan qui est utilisée pour la lier à une autre (une personne possède une collection d'adresse => table Person + table Adress et dans Adress, il y a la colonne idPerson).

    Mais dans votre cas, la colonne n'est pas indiquée comme clé étrangère dans votre base de données, donc Entity Framework a du mal.


    Richard Clark
    Consultant - Formateur .NET
    http://www.c2i.fr
    Depuis 1996: le 1er site .NET francophone

    • Marqué comme réponse wafa khemiri jeudi 31 mars 2016 08:35
    jeudi 31 mars 2016 06:56

Toutes les réponses

  • Bonjour,

    Vous devez sans doute utiliser Entity Framework. Et dans votre base de données, votre entité possède une propriété idplan qui est utilisée pour la lier à une autre (une personne possède une collection d'adresse => table Person + table Adress et dans Adress, il y a la colonne idPerson).

    Mais dans votre cas, la colonne n'est pas indiquée comme clé étrangère dans votre base de données, donc Entity Framework a du mal.


    Richard Clark
    Consultant - Formateur .NET
    http://www.c2i.fr
    Depuis 1996: le 1er site .NET francophone

    • Marqué comme réponse wafa khemiri jeudi 31 mars 2016 08:35
    jeudi 31 mars 2016 06:56
  • bonjour merci pour votre réponse mais la colonne est bien indiquée comme clé étrangère 

    voici le script de la base de données 


    create table Categorie (
       idCategorie          SERIAL               not null,
       nomCategorie         VARCHAR(50)          null,
       constraint PK_CATEGORIE primary key (idCategorie)
    );


    create unique index CATEGORIE_PK on Categorie (
    idCategorie
    );


    create table Favoris (
       idInternaute         INT4                 not null,
       idPlan               INT4                 not null,
       idFavoris            SERIAL               not null,
       date                 DATE                 null,
       constraint PK_FAVORIS primary key (idInternaute, idPlan, idFavoris)
    );


    create unique index FAVORIS_PK on Favoris (
    idInternaute,
    idPlan,
    idFavoris
    );


    create  index ASSOCIATION_9_FK on Favoris (
    idInternaute
    );

    create  index FAVORIS_FK on Favoris (
    idPlan
    );


    create table Filtre (
       idCategorie          INT4                 not null,
       idTheme              INT4                 not null,
       idFiltre             SERIAL               not null,
       nomFiltre            VARCHAR(50)          null,
       constraint PK_FILTRE primary key (idCategorie, idTheme, idFiltre)
    );


    create unique index FILTRE_PK on Filtre (
    idCategorie,
    idTheme,
    idFiltre
    );


    create  index ASSOCIATION11_FK on Filtre (
    idCategorie,
    idTheme
    );


    create table Image (
       idPlan               INT4                 not null,
       idImage              SERIAL               not null,
       fileName             VARCHAR(254)          null,
       constraint PK_IMAGE primary key (idPlan, idImage)
    );


    create unique index IMAGE_PK on Image (
    idPlan,
    idImage
    );


    create  index ASSOCIATION14_FK on Image (
    idPlan
    );


    create table Internaute (
       idInternaute         SERIAL               not null,
       nom                  VARCHAR(50)          null,
       prenom               VARCHAR(50)          null,
       dateNais             DATE                 null,
       sexe                 CHAR                 null,
       email                VARCHAR(50)          null,
       psw                  VARCHAR(50)          null,
       typeInternaute       VARCHAR(50)          null,
       constraint PK_INTERNAUTE primary key (idInternaute)
    );


    create unique index INTERNAUTE_PK on Internaute (
    idInternaute
    );


    create table Plan (
       idPlan               SERIAL               not null,
       idInternaute         INT4                 not null,
       idCategorie          INT4                 not null,
       nom                  VARCHAR(50)          null,
       adresse              VARCHAR(50)          null,
       numTel               INT4                 null,
       note                 INT4                 null,
       datePublication      DATE                 null,
       budget               INT4                 null,
       constraint PK_PLAN primary key (idPlan)
    );


    create unique index PLAN_PK on Plan (
    idPlan
    );


    create  index ASSOCIATION1_FK on Plan (
    idCategorie
    );


    create  index ASSOCIATION13_FK on Plan (
    idInternaute
    );


    create table Reservation (
       idReservation        SERIAL               not null,
       idPlan               INT4                 not null,
       idInternaute         INT4                 not null,
       dateDebut            DATE                 null,
       dateFin              DATE                 null,
       prix                 INT4                 null,
       constraint PK_RESERVATION primary key (idReservation)
    );


    create unique index RESERVATION_PK on Reservation (
    idReservation
    );


    create  index ASSOCIATION6_FK on Reservation (
    idInternaute
    );


    create  index ASSOCIATION9_FK on Reservation (
    idPlan
    );


    create table Theme (
       idCategorie          INT4                 not null,
       idTheme              SERIAL               not null,
       nomTheme             VARCHAR(50)          null,
       constraint PK_THEME primary key (idCategorie, idTheme)
    );

    create unique index THEME_PK on Theme (
    idCategorie,
    idTheme
    );


    create  index ASSOCIATION10_FK on Theme (
    idCategorie
    );


    create table Interaction (
       idInternaute         INT4                 not null,
       idPlan               INT4                 not null,
       idInteraction        SERIAL               not null,
       type                 VARCHAR(50)          null,
       date                 DATE                 null,
       constraint PK_Interaction primary key (idInternaute, idPlan, idInteraction)
    );


    create unique index Interaction_PK on Interaction (
    idInternaute,
    idPlan,
    idInteraction
    );


    create  index Interaction_FK on Interaction (
    idInternaute
    );


    create  index INTERAGIR_FK on Interaction (
    idPlan
    );

    alter table Favoris
       add constraint FK_FAVORIS_ASSOCIATI_INTERNAU foreign key (idInternaute)
          references Internaute (idInternaute)
          on delete restrict on update no action;

    alter table Favoris
       add constraint FK_FAVORIS_FAVORIS_PLAN foreign key (idPlan)
          references Plan (idPlan)
          on delete restrict on update no action;

    alter table Filtre
       add constraint FK_FILTRE_ASSOCIATI_THEME foreign key (idCategorie, idTheme)
          references Theme (idCategorie, idTheme)
          on delete restrict on update no action;

    alter table Image
       add constraint FK_IMAGE_ASSOCIATI_PLAN foreign key (idPlan)
          references Plan (idPlan)
          on delete restrict on update no action;

    alter table Plan
       add constraint FK_PLAN_ASSOCIATI_CATEGORI foreign key (idCategorie)
          references Categorie (idCategorie)
          on delete restrict on update no action;

    alter table Plan
       add constraint FK_PLAN_ASSOCIATI_INTERNAU foreign key (idInternaute)
          references Internaute (idInternaute)
          on delete restrict on update no action;

    alter table Reservation
       add constraint FK_RESERVAT_ASSOCIATI_INTERNAU foreign key (idInternaute)
          references Internaute (idInternaute)
          on delete restrict on update no action;

    alter table Reservation
       add constraint FK_RESERVAT_ASSOCIATI_PLAN foreign key (idPlan)
          references Plan (idPlan)
          on delete restrict on update no action;

    alter table Theme
       add constraint FK_THEME_ASSOCIATI_CATEGORI foreign key (idCategorie)
          references Categorie (idCategorie)
          on delete restrict on update no action;

    alter table Interaction 
       add constraint FK_ASSOCIAT_ASSOCIATI_INTERNAU foreign key (idInternaute)
          references Internaute (idInternaute)
          on delete restrict on update no action;

    alter table Interaction 
       add constraint FK_ASSOCIAT_INTERAGIR_PLAN foreign key (idPlan)
          references Plan (idPlan)
          on delete restrict on update no action;

    jeudi 31 mars 2016 09:09