假设我的数据库中有一个名为Table1的表。我在Table1中有3列名为
FirstName
SurName
DOB在sql中,我只需执行select * from Table1,它将显示特定表中的所有内容。但是,我想了解的是,如何使用Linq在C#中选择这个表中的所有值。Table1在数据库中,前端正在使用ASP.NET和C#开发,我似乎无法理解这一点。我对linq知之甚少,如果我犯了一个明显的错误,请原谅
发布于 2014-12-11 15:38:38
有关linq的介绍,请参阅下面的链接
What is Linq and what does it do?
http://weblogs.asp.net/scottgu/using-linq-to-sql-part-1
Linq提供了一种查询数据的方法,但是您仍然需要提供一种Linq访问数据的方法--无论是通过Linq2Sql类、ADO、实体框架等等。
我是实体框架(,EF)的粉丝,您可以在这里设置表示数据的对象,并使用上下文填充这些对象。
它可能看起来像这样:
public class Table1
{
public string FirstName { get; set; }
public string SurName { get; set; }
public DateTime DOB { get; set; }
}
public class Table1Repository
{
private readonly MyEntities _context;
public Table1Repository()
{
this._context = new MyEntities();
}
public IQueryable<Table1> Get()
{
return this._context.Table1; // in effect your "Select * from table1"
}
public IQueryable<Table1> GetById(DateTime dob)
{
return this._context.Table1.Where(w => w.DOB == dob); // pulls records with a dob matching param - using lambda here but there is also "query expression syntax" which looks more like sql
}}
请注意,您对表示数据的上下文执行linq查询,而不是对数据库本身执行linq查询。Linq非常强大,但是您需要为它提供一种访问数据的方法。即使这些数据是xml、文件、数据库等等!
发布于 2014-12-11 15:39:05
在Linq2Sql中,选择所有字段非常简单
从数据文本开始:
var db = new YourDataContext()在那之后,你可以做如下的事情
var myData = from row
in db.table1
select row正如你指出的那样,你的知识太有限了。查看有关L2S:http://weblogs.asp.net/scottgu/using-linq-to-sql-part-1的本系列文章。
发布于 2014-12-11 15:44:10
由于使用的是EF6,所以可以使用LinqToEntity读取表。
public ObservableCollection<Table1> ReadTable1()
{
using (YourDBContext dc = new YourDBContext())
{
var data = (from x in dc.Table1
select x);
return new ObservableCollection<Table1>(data);
}
}https://stackoverflow.com/questions/27426371
复制相似问题