Entity Framework 4 CTP 5 – Braucht es das NotMapped-Attribut überhaupt?

Beim CodeFirst-Ansatz hat das NotMapped-Attribut die Aufgabe Eigenschaften für das O/R-Mapping zu ignorieren. Notwendig wird dieses, wenn Auto-implemented properties oder Eigenschaften verwendet werden, die den Getter und Setter implementieren.

Interessant wird es, wenn Eigenschaften nur den Getter implementieren (Read only properties). In diesem Szenario ist die Kennzeichnung mit NotMapped nicht notwendig.

Dazu ein kleines Beispiel mit der Customer-Klasse.

Customer-Klasse mit Read-only Eigenschaft (C#)

[MetadataType(typeof(CustomerMetadata))]
public class Customer
{
  public int Id { get; internal set; }
  public string Name { get; set; }
  public string Street { get; set; }
  public string Postalcode { get; set; }
  public string City { get; set; }

  public string LetterAddress
  {
    get
    {
      return String.Format(
        "{0}\r\n{1}\r\n{2} {3}", 
        this.Name, 
        this.Street, 
        this.Postalcode, 
        this.City);
    }
  }
}

Neu besitzt die Klasse eine Eigenschaft mit den Namen LetterAddress, die nur einen Getter implementiert. Nach der Neuerstellung der Datenbank hat die Tabelle auf der Datenbank den Aufbau wie in Abbildung 1.

Abbildung 1
Abbildung 1 Aufbau der Tabelle auf Datenbankebene ohne Spalte LetterAddress

Dabei wird ersichtlich, dass Eigenschaften die nur einen Getter implementieren während der Erstellung ignoriert werden. Sobald der Setter ins Spiel kommt, ist das Attribut NotMapped weiterhin notwendig.

  •  
  • 0 Kommentar(e)
  •  

Mein Kommentar

Über jeden weiteren Kommentar in diesem Post benachrichtigen.

Zurück

Translate this page

Kategorien

  • [-].NET Development (215)
  • [-]Datenbank (26)
  • HTML (1)
  • Konfiguration (12)
  • Mind Map (10)
  • Off-topic (9)
  • Open Source (3)
  • Qualität (7)
  • Sharepoint (6)
  • Sicherheit (2)

Archiv

Social Bookmarking

Bookmark bei: Mr. Wong Bookmark bei: Webnews Bookmark bei: Icio Bookmark bei: Oneview Bookmark bei: Linkarena Bookmark bei: Favoriten Bookmark bei: Seekxl Bookmark bei: Favit Bookmark bei: Social Bookmarking Tool Bookmark bei: Power Oldie Bookmark bei: Bookmarks.cc Bookmark bei: Newskick Bookmark bei: Newsider Bookmark bei: Linksilo Bookmark bei: Readster Bookmark bei: Folkd Bookmark bei: Yigg Bookmark bei: Digg Bookmark bei: Del.icio.us Bookmark bei: Reddit Bookmark bei: Simpy Bookmark bei: StumbleUpon Bookmark bei: Slashdot Bookmark bei: Netscape Bookmark bei: Furl Bookmark bei: Yahoo Bookmark bei: Spurl Bookmark bei: Google Bookmark bei: Blinklist Bookmark bei: Blogmarks Bookmark bei: Diigo Bookmark bei: Technorati Bookmark bei: Newsvine Bookmark bei: Blinkbits Bookmark bei: Ma.Gnolia Bookmark bei: Smarking Bookmark bei: Netvouz Information