首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >理解Linq查询的基本知识

理解Linq查询的基本知识
EN

Stack Overflow用户
提问于 2014-12-11 15:26:57
回答 3查看 562关注 0票数 1

假设我的数据库中有一个名为Table1的表。我在Table1中有3列名为

代码语言:javascript
复制
FirstName
SurName
DOB

在sql中,我只需执行select * from Table1,它将显示特定表中的所有内容。但是,我想了解的是,如何使用Linq在C#中选择这个表中的所有值。Table1在数据库中,前端正在使用ASP.NET和C#开发,我似乎无法理解这一点。我对linq知之甚少,如果我犯了一个明显的错误,请原谅

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 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)的粉丝,您可以在这里设置表示数据的对象,并使用上下文填充这些对象。

它可能看起来像这样:

代码语言:javascript
复制
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、文件、数据库等等!

票数 1
EN

Stack Overflow用户

发布于 2014-12-11 15:39:05

在Linq2Sql中,选择所有字段非常简单

从数据文本开始:

代码语言:javascript
复制
var db = new YourDataContext()

在那之后,你可以做如下的事情

代码语言:javascript
复制
var myData = from row
             in db.table1
             select row

正如你指出的那样,你的知识太有限了。查看有关L2S:http://weblogs.asp.net/scottgu/using-linq-to-sql-part-1的本系列文章。

票数 1
EN

Stack Overflow用户

发布于 2014-12-11 15:44:10

由于使用的是EF6,所以可以使用LinqToEntity读取表。

代码语言:javascript
复制
public ObservableCollection<Table1> ReadTable1()
{            
    using (YourDBContext dc = new YourDBContext())
    {
        var data = (from x in dc.Table1 
                    select x);

        return new ObservableCollection<Table1>(data);
    }            
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27426371

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档