EF7 aggiunge l'errore di migrazione quando si utilizza l'attributo NotMapped nelle proprietà dell'entità

asp.net-core c# code-first-migrations entity-framework entity-framework-core

Domanda

Non sono in grado di utilizzare l'attributo [NotMapped] sulle proprietà dell'entità perché il comando add migration migration genera un errore di seguito;

Ecco il mio POCO;

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

namespace Domain.Entities
{
    public partial class Employer
    {
        public int EmployerId { get; set; }
        public bool? Blacklisted { get; set; }
        [NotMapped]
        public int TestProperty { get; set; }
    }
}

E questo è il messaggio di eccezione che ottengo.

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

namespace Domain.Entities
{
    public partial class Employer
    {
        public int EmployerId { get; set; }
        public bool? Blacklisted { get; set; }
        [NotMapped]
        public int TestProperty { get; set; }
    }
}

E queste sono le mie dipendenze da pacchetto;

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

namespace Domain.Entities
{
    public partial class Employer
    {
        public int EmployerId { get; set; }
        public bool? Blacklisted { get; set; }
        [NotMapped]
        public int TestProperty { get; set; }
    }
}

Qualche idea sul motivo per cui non sono in grado di utilizzare l'attributo [NotMapped] in qualsiasi punto delle mie proprietà dell'entità?

Aggiornamento: come suggerito da Don, l'uso di Fluent-api invece delle annotazioni funziona ma voglio comunque utilizzare le annotazioni. Il mio obiettivo è aggiungere l'attributo [NotMapped] all'entità base in modo che non debba aggiungerlo alle entità child.

Questo è quello che sto cercando di realizzare;

Associazione della proprietà ID di base alla chiave primaria delle entità senza aggiungere la colonna Id al database.

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

namespace Domain.Entities
{
    public partial class Employer
    {
        public int EmployerId { get; set; }
        public bool? Blacklisted { get; set; }
        [NotMapped]
        public int TestProperty { get; set; }
    }
}

Risposta accettata

Prova a utilizzare Fluent-API

modelBuilder.Entity<Employer>().Ignore(e => e.TestProperty);



Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché
Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché