Domanda

Nel codice qui sotto, ho bisogno di impostare un comodo tasto estraneo su ParentInFoaddDProperties.ParentQuestionansWersID in modo da dipendere da ParenChensionanswers.ID (che è una chiave primaria).Sto tentando di farlo utilizzando le annotazioni di dati, ma Entity Framework 6 vuole creare una nuova colonna chiave straniera nella mia tabella ParentQestionanswers che fa riferimento alla colonna ParentInFoaddDProperties.Il colonna non è la colonna ParentQuentionansWersid.Non voglio un framework di entità per creare una nuova colonna chiave straniera.

apprezzerei molto se qualcuno può spiegare quali annotazioni dati o (se necessario) mapping fluenti dovrei specificare per ottenere il costrutto del tasto estraneo desiderato.Grazie in anticipo.

namespace Project.Domain.Entities
{  
    public class ParentQuestionAnswers
    {
        public ParentQuestionAnswers()
        {
            ParentInfoAddProperties = new ParentInfoAddProperties();
        }

        [Required]
        public int Id { get; set; }

        [Required]
        public int UserId { get; set; }

        public ParentInfoAddProperties ParentInfoAddProperties { get; set; }
    }

    public class ParentInfoAddProperties
    {
        [Required]
        public int Id { get; set; }

        [Required]
        public int ParentQuestionAnswersId { get; set; }
    }
}
.

È stato utile?

Soluzione

È possibile utilizzare la seguente annotazione dei dati e utilizzare entità invece di int

[Required]
[ForeignKey("ParentQuestionAnswers")]
public ParentQuestionAnswers ParentQuestionAnswers { get; set; }
.

Per ottenere l'ID solo è possibile aggiungere la proprietà

public int ParentQuestionAnswersId { get; set; }
.

Ma hai ancora bisogno della proprietà ParentQuestionAnswers, quindi EF ti capirà.

(queste righe di codice devono essere sotto la classe ParentInfoAddProperties)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top