Linq to SQL - Что мне не хватает? - PullRequest
0 голосов
/ 18 июля 2010

Я полный новичок в LINQ, поэтому, пожалуйста, обнажите мои глупые вопросы.

Используя Visual Studio, я создал файл DBML и добавил в него таблицу из локальной базы данных. Это создало контекст данных с именем UserDataContext. На моей странице ASPX я могу создать экземпляр контекста данных, используя:

UserDataContext db1 = new UserDataContext();

Однако, когда я пытаюсь выполнить запрос к таблице, я получаю:

var query = from o in db1. 

и оттуда я не вижу таблицу .... в dbml показано, что таблица имеет публичный доступ.

Есть идеи, что я пропустил?

Ответы [ 6 ]

1 голос
/ 19 июля 2010

У вас есть using System.Linq; вверху вашего файла кода?Если вы не Intellisense не подберете для LINQ.

1 голос
/ 19 июля 2010

Вы должны выбрать его потом, так что с var query = from o in db1 будет

var query = from o in db1
select o
0 голосов
/ 19 июля 2010

Убедитесь, что ваш класс находится в том же пространстве имен, что и ваш файл .dbml.Если ваш .dbml находится в подкаталоге, он унаследует этот подкаталог как часть пространства имен .dbml.

0 голосов
/ 19 июля 2010

Я думаю, что он спрашивает больше о том, почему он не видит таблицу в запросе

Вы создали свое решение с тех пор, как создали модели Linq to SQL, если вы не сделали этого, они выиграли?не показывай.

0 голосов
/ 19 июля 2010
UserDataContext db1 = new UserDataContext();
var query = from o in db1
            where o.fieldName = "abc"
            select p;
0 голосов
/ 18 июля 2010

Если вы хотите запросить все таблицы в базе данных или все столбцы в таблице, я думаю, вы найдете эту статью полезной.

Также, как указано в zerkmsкомментарий, запрос LINQ требует оператора выбора.Это может помочь, если вы проверите desugared форму запроса LINQ - это, безусловно, помогло мне избежать подобных ошибок.

...