Ausschließen ein Feld / Eigenschaft aus der Datenbank mit Entity Framework 4 &-Code-First
-
19-09-2019 - |
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?
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);