Вопрос

Как бы вы сделали LINQ-TO-SQL Тип поставщика, генерировать или/и регенерировать классы?

Я только что добавил новую таблицу в свою базу данных, и поставщик типов не может понять это. Я попытался удалить линию с поставщиком типов и ввести ее еще раз - не повезло. Я также пытался сделать перестройку .. все еще не повезло.

Редактировать:

Я определил такого поставщика типов:

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

И используя это как:

let ctx = dbSchema.GetDataContext()

Это было полезно?

Решение

Вы правы - это кажется довольно сложно. я использую SqlDataConnection Введите поставщика в файле скрипта, и единственный способ обновить схему, которую я обнаружил до сих пор, - это внести незначительное (нерелевантное) изменение строки подключения. Например, добавьте место после = одного из параметров:

[<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, но это, похоже, не имеет никакого эффекта и документация мало что говорит об этом.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top