質問
どのようにしますか LINQ-TO-SQL
タイププロバイダー、生成または/およびクラスを再生しますか?
データベースに新しいテーブルを追加したばかりで、タイププロバイダーはそれを理解できません。タイププロバイダーでラインを削除しようとし、もう一度入力しようとしました - 運はありません。また、再建を試みました。まだ運がありません。
編集:
次のようなタイププロバイダーを定義しました。
[<Generate>]
type dbSchema = SqlDataConnection<"conString">
そしてそれを使用して:
let ctx = dbSchema.GetDataContext()
解決
あなたは正しい - これは非常に難しいようです。私は使用しています SqlDataConnection
スクリプトファイルのタイププロバイダーと、これまでにわかったスキーマを更新する唯一の方法は、接続文字列にマイナーな(無関係な)変更を行うことです。たとえば、後にスペースを追加します =
パラメーターの1つの:
[<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
スキーマはキーとして接続文字列を使用してキャッシュされているように見えるため、変更した場合、古いスキーマが再び取得されます。これはおそらくバグだと思うので、空白を追加することは回避策です。
パラメーターもあります ForceUpdate
, 、しかし、それは何の効果もないようです ドキュメント それについてあまり言わない。
所属していません StackOverflow