Tengo entendido que el [NotMapped]
atributo no está disponible hasta EF 5, que actualmente está en CTP, por lo que no podemos usarlo en producción.
¿Cómo puedo marcar las propiedades en EF 4.1 para que se ignoren?
ACTUALIZACIÓN: Noté algo más extraño. Obtuve el [NotMapped]
atributo para trabajar, pero por alguna razón, EF 4.1 todavía crea una columna llamada Disposed en la base de datos a pesar de que public bool Disposed { get; private set; }
está marcado con [NotMapped]
. La clase se implementa, IDisposeable
por supuesto, pero no veo cómo debería importar eso. ¿Alguna idea?
c#
.net
entity-framework
ef-code-first
entity-framework-4.1
Raheel Khan
fuente
fuente
Respuestas:
Puede usar la
NotMapped
anotación de datos de atributo para indicar a Code-First que excluya una propiedad en particular[NotMapped]
El atributo se incluye en elSystem.ComponentModel.DataAnnotations
espacio de nombres.Alternativamente, puede hacer esto con la función de
Fluent API
anulaciónOnModelCreating
en suDBContext
clase:http://msdn.microsoft.com/en-us/library/hh295847(v=vs.103).aspx
La versión que verifiqué es
EF 4.3
, que es la última versión estable disponible cuando usas NuGet.Editar : SEP 2017
Asp.NET Core (2.0)
Anotación de datos
Si está utilizando asp.net core ( 2.0 en el momento de escribir este artículo ), el
[NotMapped]
atributo se puede usar en el nivel de propiedad.API fluida
fuente
A partir de EF 5.0, debe incluir el
System.ComponentModel.DataAnnotations.Schema
espacio de nombres.fuente