0% fanden dieses Dokument nützlich (0 Abstimmungen)
16 Ansichten9 Seiten

C# Methoden

Das Dokument beschreibt verschiedene Methoden zur Konfiguration von Datenmodellen in Entity Framework, einschließlich der Definition von Entitäten, Primärschlüsseln, Eigenschaften, Beziehungen, Vererbung, Indexen und Abfragen. Es bietet Beispiele für die Verwendung dieser Methoden und erläutert die Bedeutung von LINQ für die Abfrage von Daten. Zudem werden verschiedene LINQ-Operationen vorgestellt, um mit Listen und Objekten zu arbeiten.

Hochgeladen von

torgynargyn150
Copyright
© All Rights Reserved
Wir nehmen die Rechte an Inhalten ernst. Wenn Sie vermuten, dass dies Ihr Inhalt ist, beanspruchen Sie ihn hier.
Verfügbare Formate
Als DOCX, PDF, TXT herunterladen oder online auf Scribd lesen
0% fanden dieses Dokument nützlich (0 Abstimmungen)
16 Ansichten9 Seiten

C# Methoden

Das Dokument beschreibt verschiedene Methoden zur Konfiguration von Datenmodellen in Entity Framework, einschließlich der Definition von Entitäten, Primärschlüsseln, Eigenschaften, Beziehungen, Vererbung, Indexen und Abfragen. Es bietet Beispiele für die Verwendung dieser Methoden und erläutert die Bedeutung von LINQ für die Abfrage von Daten. Zudem werden verschiedene LINQ-Operationen vorgestellt, um mit Listen und Objekten zu arbeiten.

Hochgeladen von

torgynargyn150
Copyright
© All Rights Reserved
Wir nehmen die Rechte an Inhalten ernst. Wenn Sie vermuten, dass dies Ihr Inhalt ist, beanspruchen Sie ihn hier.
Verfügbare Formate
Als DOCX, PDF, TXT herunterladen oder online auf Scribd lesen

Methoden

🧱 1️⃣ ENTITY / TABELLE (Grundstruktur)

Methode Bedeutung Wann verwenden Beispiel

Konfiguriert eine Entity<Produkt>(


Entity<T>() immer
Entity )

ToTable("Nam Tabellenname wenn Name .ToTable("Produkt


e") festlegen vorgegeben e")

.HasKey(p =>
HasKey() Primary Key immer
[Link])

HasNoKey() Keyless Entity Views, Reports .HasNoKey()

.Ignore(x =>
Ignore() Property ignorieren nicht speichern
[Link])

🔑 2️⃣ PRIMARY KEY & ID-ERZEUGUNG

Methode Bedeutung Wann

HasKey() Primary Key immer

Standar
ValueGeneratedOnAdd() Auto-Increment
d

ValueGeneratedNever() kein Auto-Increment Angabe

DB setzt Wert beim


ValueGeneratedOnUpdate() selten
Update

🧾 3️⃣ PROPERTY / SPALTEN

Methode Bedeutung Wann

Spalte
Property() optional
konfigurieren

IsRequired() NOT NULL Pflicht

IsRequired(false) NULL erlaubt optional

HasMaxLength() max. Länge string

DB-
HasColumnName() Spaltenname
Vorgabe

HasColumnType() DB-Datentyp selten

HasDefaultValue() Standardwert z. B. 0

HasDefaultValueS GETDATE(
SQL-Standard
ql() )
Methode Bedeutung Wann

Beispiel
.Property(p => [Link])
.HasMaxLength(100)
.IsRequired();

🔗 4️⃣ BEZIEHUNGEN (RELATIONEN)


🔹 1:1, 1:n, n:m

Methode Bedeutung

HasOne() genau ein

WithOne() genau ein

HasMany() viele

WithMany() viele

HasForeignKe Fremdschlüss
y() el

OnDelete() Löschregel

1:n Beispiel
.HasOne(a => [Link])
.WithMany(p => [Link])
.HasForeignKey(a => [Link]);

🧬 5️⃣ VERERBUNG / DISCRIMINATOR (TPH)

Methode Bedeutung

HasDiscriminato
Typ-Spalte
r()

HasValue<T>() Wert pro Typ

nur bekannte
IsComplete()
Typen

Beispiel
.HasDiscriminator(p => [Link])
.HasValue<Sparprodukt>("Sparprodukt");
Methode Bedeutung Wann

🧩 6️⃣ VALUE OBJECTS (OWNED TYPES)

Methode Bedeutung Wann

eingebettetes Value
OwnsOne()
Objekt Object

OwnsMany Liste von Value


selten
() Objects

Navigation feinsteueru
Owned Navigation
() ng

Beispiel
.OwnsOne(k => [Link]);

📇 7️⃣ INDEXE & PERFORMANCE

Bedeutun
Methode
g

HasIndex() Index

Unique
IsUnique()
Index

HasDatabaseNam
Indexname
e()

Beispiel
.HasIndex(a => [Link])
.IsUnique(false);

8️⃣ CONSTRAINTS & VALIDIERUNG

Methode Bedeutung

IsConcurrencyToke
Parallel-Schutz
n()

HasCheckConstrain CHECK-
t() Constraint

IsRowVersion() Timestamp

🔁 9️⃣ NAVIGATION PROPERTIES

Methode Bedeutung

Navigation() Navigation
Methode Bedeutung Wann

Methode Bedeutung

konfigurieren

AutoInclude() automatisch laden

UsePropertyAccessMod
Zugriff steuern
e()

🧪 🔟 ABFRAGEN / FILTER

Bedeutun
Methode
g

HasQueryFilte globaler
r() Filter

HasData() Seed-Daten

Beispiel
.HasQueryFilter(x => ![Link]);

🧠 1️⃣1️⃣ METADATEN / ERWEITERT

Methode Bedeutung

HasAnnotatio
Zusatzinfo
n()

HasComment( DB-
) Kommentar

LINQ bedeutet
Language
INtegrated
Query
Unsere Spielzeug-Kiste (Liste)
var toys = new List<string>
{
"Ball",
"Auto",
"Puppe",
"Bär",
"Lego"
};

LINQ sagt: „Such mir was!“


Where – „Nur das, was ich will“
👉 „Gib mir Spielzeuge mit B“
var result = [Link](t => [Link]("B"));

Count – „Wie viele?“


int count = [Link]();

First / FirstOrDefault – „Gib mir das erste“


var firstToy = [Link]();

Any – „Gibt es wenigstens eins?“


bool hasBall = [Link](t => t == "Ball");

All – „Sind alle so?“


bool allLongNames = [Link](t => [Link] > 3);

OrderBy – „Sortieren“
var sorted = [Link](t => t);

Select – „Mach was Neues draus“


👉 Aus Spielzeugen → nur Namenlänge
var lengths = [Link](t => [Link]);

ToList – „Jetzt wirklich nehmen“


var list = [Link](t => [Link]("a")).ToList();

LINQ auf Zahlen (super einfach)


var numbers = new List<int> { 1, 2, 3, 4, 5 };

LINQ mit Objekten (EF-Core-Style)


var products = _db.Products
.Where(p => [Link] > 10)
.OrderBy(p => [Link])
.Select(p => [Link])
.ToList();
„Gib mir alle teuren Sachen,
sortiert nach Namen,
aber nur die Namen“

LINQ wird erst ausgeführt, wenn du: schreibst


 ToList()
 First()
 Count()

Das könnte Ihnen auch gefallen