Question

Je voudrais savoir qui est-il un moyen d'exclure certains champs de la base de données? Par exemple:

public class Employee
{
    public int Id { get; set; }
    public string Name { get; set; }
    public string FatherName { get; set; }

    public bool IsMale { get; set; }
    public bool IsMarried { get; set; }

    public string AddressAs { get; set; }
}

Comment puis-je exclure le champ AddressAs de la base de données?

Était-ce utile?

La solution

Dans la version actuelle la seule façon d'exclure une propriété est de mapper explicitement toutes les autres colonnes:

builder.Entity<Employee>().MapSingleType(e => new {
  e.Id,
  e.Name,
  e.FatherName,
  e.IsMale,
  e.IsMarried
});

Parce que AddressAs n'est pas référencé ne fait pas partie de l'entité / base de données.

L'équipe EF est considérant ajouter quelque chose comme ceci:

builder.Entity<Employee>().Exclude(e => e.AddressAs);

Je vous suggère de dire laisser un commentaire sur le blog EFDesign, demandant cette fonction:)

Hope this helps

Alex

Autres conseils

pour référence ultérieure: vous pouvez utiliser les annotations de données MSDN EF - code Premières annotations de données

[NotMapped]        
public string AddressAs { get; set; }

Je sais que c'est une vieille question, mais au cas où quelqu'un (comme moi) lui vient de la recherche ...

Maintenant, il est possible dans le cadre de l'entité 4.3 pour ce faire. Vous le feriez comme ceci:

builder.Entity<Employee>().Ignore(e => e.AddressAs);

Il est également possible d'ajouter la colonne que vous voulez ignorer comme

scroll top