2017-10-17 5 views
0

Est-il possible de créer un héritage de classe lorsque l'un de la classe est mappé à une table dans une base de données? J'essaye d'utiliser ces classes pour différentes méthodes et je veux montrer seulement l'information dont j'ai besoinHéritage de classe lorsqu 'est mappé à la table C#

Je reçois cette erreur "Message": "Erreur.", "ExceptionMessage": "Le nom de la colonne" Discriminator 'est pas valide " "ExceptionType.": "System.Data.SqlClient.SqlException"

using System; 
using System.Collections.Generic; 
using System.ComponentModel.DataAnnotations; 
using System.ComponentModel.DataAnnotations.Schema; 


namespace Someproject.Models 
{ 

    [Table("Vo_User")] 
    public class FirstClass 
    { 
     [Key] 
     public Int64 id { get; set; } 
     public string title { get; set; } 
     public string post { get; set; } 
    } 

    public class SecondClass : FirstClass 
    { 
     public string State { get; set; } 
     public Int32? Code { get; set; } 
     public Int32? Company { get; set; } 
     public string Flag_Approved { get; set; } 

     [ForeignKey("IdExample")] 
     public virtual ICollection<ExampleClass> Example { get; set; } 
    } 

} 

"message": " erreur", "ExceptionMessage":" El columna Nombre de 'discriminante' non es válido. ", " ExceptionType ":" System.Data.SqlClient.SqlException "

+3

Quelle est exactement la question ici? – logix

+0

@logix Le problème est que j'obtiens une erreur lorsque j'essaie d'obtenir les données ... cela fait partie d'un projet web api .... "InnerException": { "Message": "Erreur . ", " ExceptionMessage ":" Le nom de colonne 'Discriminator' n'est pas valide. ", " ExceptionType ":" System.Data.SqlClient.SqlException ", –

+0

La question évidente est de savoir si c'est en fait, dans la base de données . Je recommande de suivre le tutoriel. –

Répondre

1

Vous devriez regarder l'article suivant, en supposant que vous utilisez EF6.

https://docs.microsoft.com/en-us/aspnet/mvc/overview/getting-started/getting-started-with-ef-using-mvc/implementing-inheritance-with-the-entity-framework-in-an-asp-net-mvc-application

Il y a vraiment trop ici pour inclure un tutoriel entier, mais la partie importante ici est que le concepteur EF vous permet de spécifier discriminateurs qui décident quel type d'objet dans la chaîne d'héritage une carte de ligne de table à .