f# - Tipo de proveedor: ¿Cómo regenerar?
type-providers (1)
Tienes razón, esto parece ser bastante complicado. Estoy usando el proveedor de tipo SqlDataConnection
en un archivo de script y la única forma de actualizar el esquema que he encontrado hasta ahora es hacer algún cambio menor (irrelevante) en la cadena de conexión. Por ejemplo, agregue espacio después de =
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
Parece que el esquema se almacena en caché utilizando la cadena de conexión como la clave, por lo que si lo vuelve a cambiar, obtendrá el esquema anterior nuevamente. Supongo que este 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.
¿Cómo haría el proveedor de tipo LINQ-TO-SQL
para generar y / 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 escribirla una vez más, sin suerte. También he intentado hacer una reconstrucción ... todavía no tengo suerte.
Editar:
He definido el tipo de proveedor como:
[<Generate>]
type dbSchema = SqlDataConnection<"conString">
y usándolo como:
let ctx = dbSchema.GetDataContext()