ASP.net DAL DatasSet и адаптер таблицы не в пространстве имен — учебник «Борей»

Я пытался пройтись по учебнику «Создание уровня доступа к данным», найденному http://www.asp.net/learn/data-access/tutorial-01-cs.aspx

Я создаю соединение с БД, создаю типизированный набор данных и адаптер таблицы, указываю sql и т.д.

Когда я добавляю код на уровень представления (в данном случае на страницу с именем AllProducts.aspx), я не могу найти класс NorthwindTableAdapters.ProductsTableAdapter. Я попытался импортировать пространство имен NorthwindTableAdapters, но оно не отображается. Глядя в представление классов обозревателя решений, я подтверждаю, что существует класс Northwind, но не то пространство имен, которое я ищу.

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

Может ли кто-нибудь дать мне толчок в правильном направлении?

Я получаю сообщение об ошибке: пространство имен или тип, указанный в Imports «NorthwindTableAdapters», не содержит общедоступных членов или не может быть найден. Убедитесь, что пространство имен или тип определены и содержат хотя бы один открытый член.

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

ПоставщикиTest2.aspx.vb:

    Imports NorthwindTableAdapters 

   Partial Class SuppliersTest2

   Inherits System.Web.UI.Page



   Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load



    Dim suppliersAdapter As New SuppliersTableAdapter



    GridView1.DataSource = suppliersAdapter.GetAllSuppliers()

    GridView1.DataBind()



End Sub

Конец класса


person Alan    schedule 31.03.2010    source источник
comment
У вас есть один проект или несколько проектов. Если у вас несколько проектов, вам нужно будет добавить ссылку на проект DAL в свой проект бизнес-уровня.   -  person AxelEckenberger    schedule 31.03.2010


Ответы (6)


У меня тоже была такая же проблема, и я наконец нашел решение. попробуйте следующее; 1) Щелкните правой кнопкой мыши свой набор данных и выберите свойства. 2) В свойствах набора данных задайте имя для свойства Prifix. 3) отладить ваше приложение. 4) в вашем приложении (C#.net) импортируйте nameapce как используя DALexample.MyTableAdapters;

DAExample — это название вашего проекта...

person Janaitha Fernando    schedule 15.07.2010
comment
Это было решением и для меня при работе с TableAdapters. - person Dillie-O; 15.07.2010

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

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

person Jaxin    schedule 25.06.2010

Ваш веб-проект, должно быть, был продублирован по какой-то причине. Создайте совершенно новый веб-проект и скопируйте в него весь текущий код. Тогда попробуй бежать. это будет работать.

person kjshaju    schedule 30.08.2010
comment
Не могли бы вы прокомментировать больше, как это сделать? - person user35443; 13.12.2012

Я тоже немного запутался в этом - проблема, скорее всего, в том, что вы создали проект, используя New Project- > ASP.NET Web Application. Проект приложения — это не то же самое, что проект веб-сайта. Создайте проект с помощью Новый веб-сайт->Веб-сайт ASP.NET. Затем перетащите все учебные файлы в корневую папку в обозревателе решений, перезаписав все.

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

person owlie    schedule 11.02.2011

Перейдите к файлу web.config и в разделе «Страницы — пространства имен» посмотрите, есть ли команда очистки, попробуйте удалить команду очистки:

<pages styleSheetTheme="DataWebControls">
  <namespaces>
    <clear/>

Для меня вместо того, чтобы создавать новый веб-сайт и копировать на него все исходные файлы (кроме файла web.config), я просто смог сделать резервную копию своего файла web.config, а затем удалить файл web.config. файл, затем перейдите, чтобы добавить новый элемент и добавьте новый файл web.config, который создал новый файл с нужными мне значениями по умолчанию, затем я просто скопировал пользовательские записи из моего старого файла web.config в новый, и я был хорошо пойти.

person Roger Perkins    schedule 21.09.2015

Я также боролся с этим, но решил это, закрыв Visual Studio, снова открыв свой проект и, наконец, создав решение (CTRL+SHIFT+B).

person Hytek    schedule 22.03.2016