Question

Comment feriez-vous le fournisseur de type LINQ-TO-SQL, générer et / ou régénérer les classes?

Je viens ajouter une nouvelle table à ma base de données, et le fournisseur de type ne peut pas comprendre cela. J'ai essayé de supprimer la ligne avec le fournisseur de type et tapez une fois de plus - pas de chance. J'ai aussi essayé de faire une recréation .. toujours pas de chance.

Modifier

J'ai défini le fournisseur de type comme:

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

et en utilisant comme:

let ctx = dbSchema.GetDataContext()

Était-ce utile?

La solution

Vous avez raison - cela semble être assez délicat. J'utilise le fournisseur de type SqlDataConnection dans un fichier de script et la seule façon de mettre à jour le schéma que je l'ai trouvé à ce jour est de faire un peu mineur (non pertinent) le changement dans la chaîne de connexion. Par exemple, ajouter un espace après = de l'un des paramètres:

[<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

Le schéma semble être mis en cache en utilisant la chaîne de connexion comme la clé, donc si vous changez de nouveau, vous obtenez l'ancien schéma nouveau. Je suppose que cela est probablement un bug, donc en ajoutant des espaces est une solution possible.

Il y a aussi un paramètre ForceUpdate, mais cela ne semble pas avoir d'effet et la documentation ne dit pas grand-chose à son sujet.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top