Проблема обновляющие таблицы в LINQ разработчику SQL

Это должно быть после того, как страница сгенерирована.

Dim flag As String

Private Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
    flag = Request.Params("flag")
End Sub
10
задан jeremcc 5 December 2008 в 21:32
поделиться

8 ответов

Некоторые люди используют SqlMetal для 'обновления/обновления' их разработчика Linq2Sql. У разработчика нет поддержки обновления схемы, когда DB изменяется. Необходимо вручную отбросить таблицу и повторно добавить, что она въезжает задним ходом.

Платформа Объекта ADO, которой я верю, может обновиться. Я не использовал его, но я думаю, что видел это в демонстрации TechEd в этом году.

Полезная Информация: результаты Google для SqlMetal.

7
ответ дан 4 December 2019 в 00:27
поделиться

Это не возможное использование VS linq sql разработчику.

Можно сделать это использование LLBLGEN Pro, сторонний инструмент, вместо встроенного linq sql разработчику. Это не свободно, но это действительно делает тонну другого материала также, в котором, конечно, Вы можете или, возможно, не нуждаетесь.

LLBLGEN Pro является на самом деле полным набором инструментов ORM, но также и включает расширенного linq-to-sql разработчика с, 'обновляют модель от SQL' функциональность.

Посмотрите здесь для описания проблемы - http://weblogs.asp.net/fbouma/archive/2008/05/01/linq-to-sql-support-added-to-llblgen-pro.aspx И здесь для инструмента - http://www.llblgen.com/

3
ответ дан 4 December 2019 в 00:27
поделиться

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

0
ответ дан 4 December 2019 в 00:27
поделиться

Я не делаю никакой настройки содержания на разработчике поэтому после изменений таблицы, я просто поразил CTRL+A, сопровождаемый DEL. Затем shift-select все мои таблицы и хлопает их назад на разработчика. У меня еще нет 100 с таблиц так не уверенными, если вещи замедляются в какой-то момент, но с 20 + представляет его в виде таблицы, просто занимает секунду.

1
ответ дан 4 December 2019 в 00:27
поделиться

Я записал дополнение, которое может сделать это (в обоих направлениях; база данных-> DBML или DBML-> сценарий разности SQL-DDL).

В отличие от SQLMetal (или "модель обновления EF от базы данных") упомянутый в другом ответе, дополнение делает истинную синхронизацию/обновление; применение изменений, соответствующих только к различиям между моделью и базовым дб.

Это означает любые настройки (переименованный в свойства свойств/навигации и т.д.), что Вы сделали в других областях Вашей модели, не будет удален/перезаписан, если они не находятся в конфликте с базовой схемой дб. (в этом случае можно все еще сохранить их путем добавления их к "списку исключения дополнения"),

Можно загрузить его и получить бесплатную 30-дневную пробную лицензию из http://www.huagati.com/dbmltools/

1
ответ дан 4 December 2019 в 00:27
поделиться

Существует шаблон для VS 2008, который заменяет разработчика, он должен упростить обновление Ваших классов LINQtoSQL: http://damieng.com/blog/2008/09/14/linq-to-sql-template-for-visual-studio-2008

0
ответ дан 4 December 2019 в 00:27
поделиться

Существует несколько других опций:

  1. Отредактируйте .dbml файл что использование разработчика, чтобы потянуть таблицы и сгенерировать код. Я использовал этот подход, когда изменения являются небольшими (добавляющие несколько столбцов, составляя простую таблицу)
  2. Используйте sqlmetal, чтобы создать необходимый xml для измененных таблиц и переместить объявления вручную в .dbml файл. Этот лучше для того, когда изменения или более сложны или больше.
0
ответ дан 4 December 2019 в 00:27
поделиться

Я лично терпеть не могу использовать разработчика, и у меня были различные проблемы с ним каждый раз, когда я смел использовать его.

Я главным образом использую LINQ для очень простого CRUD (никакие связанные объекты или что-либо), и если это верно для Вас, это могло бы стоить отклониться от опоры разработчика. Тем более, что определение объектов LINQ-SQL так легко:

[Table("dbo.my_table")]
public class MyTable
{
[Column("id", AutoSync = AutoSync.OnInsert, IsDbGenerated = true, IsPrimaryKey = true)]
public Int32 Id { get; set; }

[Column("name", DbType="NVarChar(50) NOT NULL")]
public String Name { get; set; }
}

Таким образом, все Ваши объекты имеют свои собственные файлы, который делает нахождение их намного легче, хотя необходимо будет все еще добавить/обновить свойства вручную.

Конечно, если Вы осуществили бы рефакторинг 100 + таблицы, которые не могли бы быть опцией ;)

-1
ответ дан 4 December 2019 в 00:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: