1

Я новичок в Linq и Visual Web Developer 2008 Express. Я прочитал несколько сообщений здесь, а Скотт Гатри установил Linq, но я немного застрял, потому что классы не автогенерируют, как я думал. Я установил базу данных с простой таблицей (с Первичным ключом как идентификатор, и он настроен на автоматическое увеличение) плюс несколько других столбцов, и перетащил его на панель проектирования DBML Linq. Таблица отображается в окне, но никакие классы не генерируются автоматически. Когда я нажимаю правой кнопкой мыши на таблице и выбираю «View Code», отображается DataClasses.cs, но я вижу только частичный класс без каких-либо методов или свойств.Visual Web Developer 2008 не будет автоматически генерировать классы из Linq

Разве Линч не должен это делать, или я (вполне вероятно) пропустил точку полностью? Или эта функция недоступна в Visual Web Developer 2008 Express?

+1

linq-to-sql Я думаю? – Natrium

+0

Я уверен, что он это имел в виду. Retagged. – Rap

+0

Итак, @Hewie, что вы сейчас делаете, это все ответы, которые помогли вам, и приняли одну из них, которая решила вашу проблему. Чтобы увеличить, нажмите стрелку вверх над номером слева от каждого ответа. (Немного ознакомления с культурой SO. Добро пожаловать на борт). – Rap

ответ

1

Нет, вы ничего не пропустили. Именно так оно и должно работать. Перейдите в Solution Explorer, разверните dbml и дважды щелкните по any.designer.cs. Внизу внизу вы увидите ...

[Table(Name="dbo.YourTable")] 
public partial class YourTable: INotifyPropertyChanging, INotifyPropertyChanged 
{ 

    private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty); 

... и все ваши объекты недвижимости.

+0

Спасибо - все есть :) – Hewie

0

Как уже упоминалось, LINQ-To-SQL фактически не создает для вас отдельные файлы классов - если вы идете и пишете код, который ссылается на класс для одной из ваших таблиц, вы обнаружите, что он есть ...

+0

Спасибо - я ожидал увидеть стек файлов классов, но я вижу, что классы доступны в любом случае :) – Hewie

1

Как уже указывали другие ответчики, вы получаете свой код в одном файле (modelname) .designer.cs.

Это может быть или не быть то, что вы ожидали и хотели - если вы можете жить с ним - отлично!

Если нет, существует, по крайней мере, один набор шаблонов генерации кода, называемый PLINQO, которые основаны на кодексе CodeSmith, хорошо известном генераторе кода. Эти шаблоны позволяют сделать много вещей стандарт Linq к SQL не поддерживает:

  • генерировать классы для каждой таблицы в свой собственный, один файл в определяемом пользователе папке
  • фактически обновления ваша модель DBML и все связанные с ним сгенерированные классы, если основная база данных изменений
  • добавляет класс «(EntityName) Менеджер» для управления объектов данного типа (например, клиента и т.д.)

в общем, это довольно аккуратное решение для h andle Linq-to-SQL генерации кода. Отличный материал - рекомендуется!

Marc