c# entity-framework asp.net-core entity-framework-core asp.net-core-1.0

c# - Primer código de EntityFramework: establecer el orden de los campos



entity-framework asp.net-core (2)

Estoy utilizando EntityFramework con el enfoque "Code first" con migraciones.

He generado tablas con éxito desde mis modelos, pero las columnas se están agregando en orden alfabético en lugar del orden dentro de mi modelo.

He intentado esto:

[Key, Column(Order=0)] public int MyFirstKeyProperty { get; set; } [Column(Order=1)] public int MySecondKeyProperty { get; set; }

Pero eso no parece estar funcionando.

¿Cómo puedo configurar manualmente el orden de los campos en la base de datos?

Estoy usando ASP.NET Core y EF Core (SqlServer) v1.1.0.


En este momento, EF core no lo admite, pero hay una solución para eso. Es decir, puede especificar explícitamente SQL en su operación de migración.

En lugar de utilizar el método CreateTable en sus migraciones, debe escribir explícitamente el SQL como se muestra a continuación. Allí puede dar el orden que desee.

migrationBuilder.Sql("CREATE TABLE Properties( MyFirstKeyProperty INT NOT NULL, MySecondKeyProperty int NOT NULL, AGE INT NOT NULL, ...... ...... PRIMARY KEY (MyFirstKeyProperty) )");

Puedes leer sobre la red de comunicación de rowanmiller aquí sobre cómo resolver ese problema por el momento


Actualmente no se implementan las columnas ordenadas por propiedad de clase. Aquí está la larga discusión sobre el orden de las columnas. Columna ordenando # 2272

Actualizar como el 12/07/2017

Este problema está en el hito de Backlog. Esto significa que no va a suceder para la versión 2.0. Volveremos a evaluar el retraso acumulado después del lanzamiento 2.0 y consideraremos este artículo en ese momento.