RSS FeedFeed TwitterTwitter XINGXING
  
Meine Bücher

Verteilte Systeme und Services mit .NET 4.0: Konzepte und Lösungen mit WCF 4.0,
Hanser Fachbuchverlag

Weitere Infos

 

.NET 4 Update,
Microsoft Press

Weitere Infos

 
Weitere Bücher
Meine Artikel

Leichtgewichtige Kommunikation: REST-basierte Services mit dem neuen API aus der ASP.NET-Familie,
windows.developer

Weitere Infos

 

EAI und EDI in der Cloud ,
windows.developer

Weitere Infos

 

Verteilt und doch ein Ganzes: Verteilte Systeme mit AppFabric Applications,
dot.net magazin

Weitere Infos

 

Vorschau auf Neuerungen der kommenden WCF-Version,
dot.net magazin

Weitere Infos

 

Windows Azure Tutorial, Teil 3: Verbindung zwischen Cloud- und lokalen Applikationen,
iX - Magazin für professionelle Informationstechnik

Weitere Infos

 

MVC, die dritte: ASP.NET MVC 3 RC 2,
dot.net magazin

Weitere Infos

 

Leichtgewichtiges O/R-Mapping - Code Only mit Entitiy Framework CTP 5,
dot.net magazin

Weitere Infos

 

Weitere Artikel

Training & Beratung

Gemeinsam mit meinen Kollegen aus dem IT-Visions Netzwerk unterstützte ich durch zielgerichtete Inhouse-Schulungen und Beratung Unternehmen bei der Planung und Umsetzung von großer Software-Systeme.

Mehr lesen

In Kontakt treten

 
Konferenzen

BASTA! on Tour von 4/25/2012 bis 4/27/2012 in Düsseldorf

Meine Talks

Web-Site der Konferenz

 

BASTA! Spring 2012 von 2/27/2012 bis 3/2/2012 in Darmstadt

Meine Talks

Web-Site der Konferenz

 

ADC - Advanced Developers Conference von 10/26/2011 bis 10/27/2011 in Frankental (Deutschland)

Meine Talks

Web-Site der Konferenz

 

Scandev on tour von 10/18/2011 bis 10/18/2011 in Stockholm (Schweden)

Meine Talks

Web-Site der Konferenz

 

BASTA 2011 von 9/26/2011 bis 9/30/2011 in Mainz

Meine Talks

Web-Site der Konferenz

 

Jazoon - International Conference on the modern art of software von 6/21/2011 bis 6/23/2011 in Zürich

Meine Talks

Web-Site der Konferenz

 

Scandinavian Developer Conference 2011 von 4/4/2011 bis 4/5/2011 in Göteborg (Schweden)

Meine Talks

Web-Site der Konferenz

 

SOA-Days von 3/30/2011 bis 3/31/2011 in Bonn

Meine Talks

Web-Site der Konferenz

 
Weitere Konferenzen
von Manfred, 18. February 2011 21:13

Mit Entity Framework CTP 5 steht ein Ausblick auf ein Feature zur Verfügung, welche recht wahrscheinlich in der nächsten Version des Entity Frameworks einzug halten wird: Code Only. Es erlaubt das Mappen von Entitäten auf Tabellen anhand bestimmter Konventionen. Für Fälle, in denen diese Konventionen nicht passen, können Sie über ein Fluent-Interface oder über Attribute abgeändert werden. Diese Vorgehensweise, die sehr an jener von (N)Hibernate erinnert, hat den Vorteil, dass das Entity Data Model wegfällt und sich die Entitäten somit leichter auf verschiedene Assemblies aufteilen lassen. Ferner kann mit dem Entwickeln des OO-Modells in Form von Klassen begonnen werden.

Das nachfolgende Listing liefert einen ersten Vorgeschmack darauf.

public class HotelContext : DbContext
{
    public HotelContext(): base("HotelDb-CodeFirst") { }

    public DbSet<Hotel> Hotels { get; set; }
    public DbSet<Region> Regionen { get; set; }
}


[Table("RegionenTab")]
public class Region
{
    [Key]
    [Column(Name="Region_Code", Order=1)]
    [DatabaseGenerated(DatabaseGenerationOption.None)]
    public virtual int RegionCode { get; set; }

    [MaxLength(27)]
    [Required]
    [Column(Name = "Bez", Order = 3)]
    public virtual string Bezeichnung { get; set; }
    public virtual ICollection<Hotel> Hotels { get; set; }

    public virtual ICollection<Hotel> TopRanked { get; set; }

    [ConcurrencyCheck]
    [Column(Name = "Version", Order = 2, TypeName="bigint")]
    public virtual int Version { get; set; }
}


[ComplexType]
public class Adresse
{
    public virtual string Strasse { get; set; }
    public virtual string Plz { get; set; }
    public virtual string Ort { get; set; }
}

public class Hotel
{
    public virtual int HotelId { get; set; }
    public virtual Adresse Adresse { get; set; }
    public virtual string Bezeichnung { get; set; }
    public virtual int Sterne { get; set; }

    [InverseProperty("TopRanked")]
    public virtual Region TopRankedInRegion { get; set; }

    public virtual int RegionCode { get; set; }

    [TimestampAttribute]
    public virtual byte[] LetzteModifikation { get; set; }

    public virtual double Preis { get; set; }

    [NotMapped]
    public virtual double TouristenPreis { get { return Preis * 2; } }

    public virtual Kategorie Kategorie { get; set; } 

    [ForeignKey("RegionCode")]
    [InverseProperty("Hotels")]
    public virtual Region Region { get; set; } 
    public virtual ICollection<Merkmal> Merkmale { get; set; }
}

 Weitere Infos dazu finden sich in meinem aktuellen Artikel im .NET Magazin.

Kategorien: