Ignorer une propriété de classe dans le code Entity Framework 4.1 d’abord

Je crois comprendre que l’atsortingbut [NotMapped] n’est pas disponible jusqu’à l’EF 5 qui se trouve actuellement dans CTP, nous ne pouvons donc pas l’utiliser en production.

Comment puis-je ignorer les propriétés dans EF 4.1?

MISE À JOUR: J’ai remarqué quelque chose d’étrange. J’ai obtenu l’atsortingbut [NotMapped] mais pour une raison quelconque, EF 4.1 crée toujours une colonne nommée Disposed dans la firebase database même si le public bool Disposed { get; private set; } public bool Disposed { get; private set; } public bool Disposed { get; private set; } est marqué avec [NotMapped] . La classe implémente IDisposeable sûr IDisposeable mais je ne vois pas en quoi cela devrait être important. Des pensées?

Vous pouvez utiliser l’annotation de données d’atsortingbut NotMapped pour indiquer à Code-First d’exclure une propriété particulière

 public class Customer { public int CustomerID { set; get; } public ssortingng FirstName { set; get; } public ssortingng LastName{ set; get; } [NotMapped] public int Age { set; get; } } 

[NotMapped] atsortingbut [NotMapped] est inclus dans l’espace de noms System.ComponentModel.DataAnnotations .

Vous pouvez également le faire avec la fonction OnModelCreating Fluent API OnModelCreating dans votre classe DBContext :

 protected override void OnModelCreating(DbModelBuilder modelBuilder) { modelBuilder.Entity().Ignore(t => t.LastName); base.OnModelCreating(modelBuilder); } 

http://msdn.microsoft.com/en-us/library/hh295847(v=vs.103).aspx

La version que j’ai vérifiée est EF 4.3 , qui est la dernière version stable disponible lorsque vous utilisez NuGet.


Edit : SEP 2017

Asp.NET Core (2.0)

Annotation des données

Si vous utilisez le kernel asp.net ( 2.0 au moment d’écrire ces [NotMapped] atsortingbut [NotMapped] peut être utilisé au niveau de la propriété.

 public class Customer { public int Id { set; get; } public ssortingng FirstName { set; get; } public ssortingng LastName { set; get; } [NotMapped] public int FullName { set; get; } } 

API Fluent

 public class SchoolContext : DbContext { public SchoolContext(DbContextOptions options) : base(options) { } protected override void OnModelCreating(ModelBuilder modelBuilder) { modelBuilder.Entity().Ignore(t => t.FullName); base.OnModelCreating(modelBuilder); } public DbSet Customers { get; set; } } 

À partir de EF 5.0, vous devez inclure l’espace de noms System.ComponentModel.DataAnnotations.Schema .