Pregunta

¿Cómo harías el LINQ-TO-SQL Tipo de proveedor, generar o regenerar las clases?

Acabo de agregar una nueva tabla a mi base de datos, y el proveedor de tipos no puede resolverlo. He intentado eliminar la línea con el proveedor de tipos y escribirlo una vez más, sin suerte. También he tratado de hacer una reconstrucción ... todavía no hay suerte.

Editar:

He definido el proveedor de tipo como:

[<Generate>]
type dbSchema = SqlDataConnection<"conString">

Y usarlo como:

let ctx = dbSchema.GetDataContext()

¿Fue útil?

Solución

Tienes razón, esto parece ser bastante complicado. Estoy usando SqlDataConnection Escriba el proveedor en un archivo de script y la única forma de actualizar el esquema que he encontrado hasta ahora es hacer un cambio menor (irrelevante) en la cadena de conexión. Por ejemplo, agregue espacio después = de uno de los parámetros:

[<Generate>]
type Northwind = TypeProviders.SqlDataConnection
  <"data source=.\\sqlexpress;initial catalog=Northwind;integrated security=True">

[<Generate>]
type Northwind = TypeProviders.SqlDataConnection
  <"data source=.\\sqlexpress;initial catalog=Northwind;integrated security= True">

//                                                                          ^ here

El esquema parece almacenarse en caché usando la cadena de conexión como clave, por lo que si lo cambia, obtiene el viejo esquema nuevamente. Supongo que esto es probablemente un error, por lo que agregar espacios en blanco es una posible solución.

También hay un parámetro ForceUpdate, pero eso no parece tener ningún efecto y la documentación No dice mucho al respecto.

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