Frage

Ich bin mir nicht sicher, wie Composite-Schlüssel zu verwenden.

Meine Tabelle Kategorien hat CategoryId (PK, FK), LanguageId (PK, FK), Kategorie

CategoryId | LanguageId | CategoryName
1          | 1          | Car
1          | 2          | Auto
1          | 3          | Automobile
etc.

Ich folge dieses Design

Die Standard-Aktion sieht aus wie

//
// GET: /Category/Edit/5

public ActionResult Edit(int id)
{
    return View();
}

und Action

<%= Html.ActionLink("Edit", "Edit", new { id= item.CategoryId }) %>

Sollte ich so etwas wie

<%= Html.ActionLink("Edit", "Edit", new { id= (item.CategoryId + "-" + item.LanguageId) }) %>

so die URL

/Category/Edit/5-5

und

//
// GET: /Category/Edit/5-5

public ActionResult Edit(string id)
{
    // parse id

    return View();
}

oder die Route wie etwas ändern

/Category/Edit/5/5

Oder gibt es etwas besseren Weg?

War es hilfreich?

Lösung

Ich habe es bekommen.Ich fügte "als Col1" hinzu, um beide Abfragen derselben Col für die Ergebnisse jedes Tisches zu machen. Für die Zusammenführung ersetzte MissingSchemaection.Add in MissingSchemaaction.Indore.

Das hat für mich ausgearbeitet.

Andere Tipps

Ja, es gibt einen besseren Weg. Sie können auch bestimmen die Benutzer Sprache und Kultur aus der Anfrage zu bestimmen. Und ich würde nicht mit einem zufälligen Schema wie 1 = Englisch 2 = Deutsch kommen. Verwenden Sie die Standardkultur Identifikatoren.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top