Тип поставщика: как регенерировать?
-
27-10-2019 - |
Вопрос
Как бы вы сделали 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
, но это, похоже, не имеет никакого эффекта и документация мало что говорит об этом.