Текст данных Linq-to-SQL не создает объект - PullRequest
1 голос
/ 02 октября 2009

Я работаю в .NET 2.0, недавно обновленной до среды .NET 3.5 (VS2008, VB.NET) на существующем проекте веб-сайта ASP.NET. Я могу создать класс Linq-to-SQL (также называемый DataContext?) В папке «Код приложения», перетащить таблицы из активного соединения и сохранить его. Давайте назовем это MyDB. Когда я перехожу к файлу с выделенным кодом для моей страницы и пытаюсь объявить объект «MyDBDataContext», он не находится в intellisense, указывая, что он недоступен. Я проверил ссылки, и это должно быть правильно установлено, потому что я сделал файл .dbml. Я сделал новый проект приложения для тестирования Windows, и он вел себя точно так, как ожидалось, и я мог без проблем следить за этим блогом .

Есть ли что-то присущее веб-проектам, которое не позволяет использовать эти автоматически сгенерированные объекты? Является ли App Code правильным местом для объявления?

Если вы не можете сказать из вышесказанного, я новичок в отрасли и действительно новичок в LINQ.

спасибо за вашу помощь.

Ответы [ 2 ]

3 голосов
/ 02 октября 2009

Попробуйте развернуть файл dbml и откройте файл designer.cs внизу и убедитесь, что класс DataContext находится в том же пространстве имен, что и класс codebehind. Если нет, то измените пространство имен или включите его с оператором using Namespace в верхней части.

1 голос
/ 02 октября 2009

Если ваш dbml находится в папке внутри / App_Code /, он может выбрать имя папки в качестве пространства имен. Например: «/ App_Code / DAL» будет иметь пространство имен «DAL». Дайте ему пространство имен в конструкторе или просто используйте пространство имен, которое ему дано, если это так.

...