正在从数据库检索信息

本文关键字:检索 信息 数据库 | 更新日期: 2023-09-27 18:20:42

我将使用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());

正在从数据库检索信息

好吧,Retriveinfos是数据库中的一个表,而不是一个类。您可能需要使用类似实体框架的东西来创建类来表示您的表,然后才能执行类似上述的操作

如果键入dcon.xxx会发生什么在那一刻,你应该有智慧,你得到了正确的名字。

此外,没有必要做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。