f# type-providers

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()