Получение информации из базы данных - PullRequest
6 голосов
/ 18 января 2012

Я собираюсь получить информацию из базы данных, используя LINQ, но я не знаю, почему я получаю эту ошибку:

Неверное имя объекта Retriveinfos.

Мой класс здесь:

[Table (Name="Retriveinfos")]
public class Retriveinfo
{
        [Column]
        public string Name { get; set; }
        [Column]
        public string LastName { get; set; }
        [Column(IsPrimaryKey = true)]
        public int Id { get; set; }
    }

и затем с помощью этой строки кода для подключения и получения информации:

DataContext dcon = new DataContext(@"Data Source=.\SQLEXPRESS;AttachDbFilename=F:\Second_School_project\Review_Site\Review_Site\App_Data\ReviewDatabase.mdf;Integrated Security=True;User Instance=True");
Table<Retriveinfo> Retriveinfos = dcon.GetTable<Retriveinfo>();

var c = from d in Retriveinfos
        where d.Id == 1
        select new { d.Name, d.LastName };

foreach (var a in c)
    Response.Write(a.Name.ToString() + " " + a.LastName.ToString());

Ответы [ 2 ]

2 голосов
/ 18 января 2012

Ну, Retriveinfos - это таблица в вашей базе данных, а не класс, вам может потребоваться использовать что-то вроде структуры сущностей для создания классов для представления ваших таблиц, прежде чем вы сможете сделать что-то подобное выше

0 голосов
/ 18 января 2012

Что произойдет, если вы введете dcon.xxx. В этот момент вы должны получить intellisense и получить правильные имена.

Кроме того, вам не нужно делать GetTable, вы можете просто сделать это следующим образом

var c = from d in dcon.Retriveinfos  
where d.Id == 1         
select new { d.Name, d.LastName };  

foreach (var a in c)   
{ ... }

Кстати, если ваш ID действительно уникален, вы можете сделать это:

var c = dcon.Retriveinfos.SingleOrDefault(s=>s.id == 1)

И вы также можете пропустить свой foreach в этом случае

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...