我将使用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());
答案 0 :(得分:2)
好的Retriveinfos是数据库中的一个表而不是一个类,您可能需要使用类似实体框架的类来创建类来表示您的表,然后才能执行上述操作
答案 1 :(得分:0)
如果输入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