Frage

Ich mag, dass wissen, ist es eine Möglichkeit, einige Felder aus der Datenbank ausschließen? Für zB:

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; }
}

Wie kann ich ausschließen, AddressAs Feld aus der Datenbank?

War es hilfreich?

Lösung

In der aktuellen Version die einzige Möglichkeit, eine Eigenschaft auszuschließen ist ausdrücklich alle anderen Spalten zuordnen:

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

Da AddressAs nicht referenziert ist es nicht Teil der Entity / Datenbank.

Das EF Team ist Berücksichtigung Zugabe von etwas wie folgt aus:

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

Ich schlage vor, sagen Sie einen Kommentar über das EFDesign Blog hinterlassen, anfordernden diese Funktion:)

Hope, das hilft

Alex

Andere Tipps

für die Zukunft: Sie können Daten Annotationen verwenden MSDN EF - Code First Data Annotations

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

Ich weiß, dass dies eine alte Frage, aber falls jemand (wie ich) kommt, um es von der Suche ...

Jetzt ist es möglich, in Entity Framework 4.3, dies zu tun. Sie würden es wie so tun:

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

Es ist auch möglich, die Spalte, die Sie als

scroll top