Entity Framework 6.1.1 Namenskonvention für Indizes

Ich verstehe, wie man zuerst Konventionen zum Code hinzufügt (bei Migrationen). Ich habe es erfolgreich geschafft, die Tabellennamen auszuführen und sogar die GUID-ID-Felder in nicht gruppierte Felder zu ändern.

Aber ich habe nicht herausgefunden, wie der von EF bereitgestellte Standardindexname geändert werden kann, wenn kein Name angegeben wird.

[Index(IsUnique = true)]
public string Code { get; set; }

[Index]
public string Description { get; set; }

Ich habe diese beiden Anforderungen. Der oberste Index sollte @ heißUX_[schema]_[table]_Code, der ZweiteIX_[schema]_[table]_Description

Ich muss auch mehrere Spaltenindizes unterstützen, wobei IsUnique weiterhin UX ist, der Spaltenabschnitt jedoch eine Camel Case-Kombination aller Spalten ist (z. B.UX_[schema]_[table]_CodeDescription Wenn sich die beiden oberen Spalten im selben Index befinden.

Ich gehe davon aus, dass ich dies nach der IndexAttributeConvention hinzufügen muss, damit die gesamte aktuelle Funktionalität funktioniert und die IndexAnnotations erstellt werden. Ich kann jedoch nicht finden, wo die Indizes ihren Anfangsnamen erhalten, wenn sie im Attribut (oder im Fluent-Konstrukt) leer gelassen werden.

Danke im Voraus

Antworten auf die Frage(1)

Ihre Antwort auf die Frage