Wie kann ich in Entity Framework 6.1 (nicht Core) das IndexAttribute verwenden, um einen Clustered-Index zu definieren?

Entity Framework 6.1 (Code-First) hat die Möglichkeit hinzugefügt, Indizes über das hinzuzufügenIndexAttribute. Das Attribut verwendet einen Parameter, um anzugeben, ob der Index geclustert oder nicht geclustert werden soll.

Gleichzeitig erfordert AFAIK, Entity Framework, dass jede Entität einen Primärschlüssel hat (mit dem Kommentar versehen)KeyAttribute), und dieser Primärschlüssel wird immer alsgruppiert Schlüssel.

Deshalb, sobald ich das beantrageIndexAttribute mitIsClustered = trueIch bekomme da aufgrund des Schlüssels schon eine Fehlermeldungist ein Clustered-Index.

Also, wie kann ich einen gruppierten Index erstellen, der nicht der Primärschlüssel ist?IndexAttribute? Ist derIsClustered Eigentum derIndexAttribute überhaupt brauchbar?

(Für etwas mehr Kontext: Ich ordne eine Tabelle zu, die nur zum Lesen über LINQ-Abfragen verwendet wird. Es ist nicht erforderlich, Entitäten aus dieser Tabelle einzufügen, zu aktualisieren oder zu löschen. Daher benötige ich keinen Primärschlüssel Im Idealfall hätte ich gerne eine Tabelle ohne Primärschlüssel, aber mit einem nicht eindeutigen, zum Lesen optimierten Clustered-Index.)

Bearbeiten (11.04.2014): Siehe auchhttps://entityframework.codeplex.com/workitem/2212.

Antworten auf die Frage(5)

Ihre Antwort auf die Frage