¿Cómo puedo obtener el esquema de la base de datos de un archivo ActiveRechord.cs existente?

StackOverflow https://stackoverflow.com/questions/3244828

  •  15-09-2020
  •  | 
  •  

Pregunta

Me han dado el código fuente para un proyecto existente que utiliza ORM subsónico.MI (LIMITADA!) La comprensión es que Subsonic genera código mediante la ingeniería inversa de la base de datos existente.Desafortunadamente, no tengo la base de datos que se usó para este proyecto.

Tengo el archivo activerecord.cs desde la última vez que fue compilado.¿Cómo podría ejercer el esquema de la base de datos para que pueda reproducir la base de datos?

¿Fue útil?

Solución

Esto suena como subsónico 3. Aquí hay un par de lugares para comenzar a comenzar en mi archivo ActiveCord.cs. Es posible que desee crear una base de datos pequeña, ejecute subsónicos en él y vea lo que se genera en ActiverCord.cs.

Dentro de su archivo activerecord.cs, encontrará una clase parcial por mesa. La clase parcial heredará de Iactiverecord y probablemente será el nombre de la tabla.

Dentro de la clase, encontrará una función llamada "Nombre de keyName ()" que devolverá su nombre de columna de clave principal para la tabla. Subsónico requiere una clave principal para las tablas que procesa y genera código para.

Busca una región llamada "Teclas Extranjeras". Si esta tabla tiene llaves extrañas, encontrará una propiedad correspondiente a cada clave externa, algo así como "Publiceryable Oweryable Newablenames". Por lo que esta tabla debe tener una columna llamada algo como "Othertablenameid"; Compruebe la clase parcial generada para que la tabla de clave externa esté segura.

Inmediatamente debajo de la región clave extranjera, encontrará propiedades para las columnas clave no extranjeras de esta tabla. Puede adivinar algo en los tipos de datos de las columnas de los tipos de datos de la propiedad (por ejemplo, la cadena puede ser un char (x) o un varchar (x)).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top