331 votes

Ignorant une propriété de classe dans l'Entity Framework 4.1 le Premier Code

Ma compréhension est que le [NotMapped] attribut n'est pas disponible jusqu'à ce que EF 5 qui est actuellement en CTP donc on ne peut pas l'utiliser en production.

Comment puis-je marquer les propriétés en EF 4.1 pour être ignoré?

Mise à JOUR: j'ai remarqué quelque chose d'étrange. J'ai eu l' [NotMapped] attribut de travail, mais pour une raison quelconque, EF 4.1 encore crée une colonne nommée Disposé dans la base de données même si l' public bool Disposed { get; private set; } est marqué avec [NotMapped]. La classe implémente IDisposeable bien sûr, mais je ne vois pas comment cela devrait avoir de l'importance. Toutes les pensées?

648voto

Shyju Points 46555

Vous pouvez utiliser l' NotMapped d'Annotation pour instruire codefirst pour exclure un purticular propriété

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

[NotMapped] attribut est inclus dans le Système.ComponentModel.DataAnnotations espace de noms.

Vous pouvez également le faire avec Fluent API. Vous devez remplacer la OnModelCreating fonction de votre classe DBContext

protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
   modelBuilder.Entity<Customer>().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é, c'est EF 4.3 Qui est la dernière version stable disponible lorsque vous utilisez nuget.

36voto

Shane Kenyon Points 1156

Comme d'EF 5.0, vous devez inclure l' System.ComponentModel.DataAnnotations.Schema d'espace de noms.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X