如何从数据库中获取数据源

本文关键字:获取 数据源 数据库 | 更新日期: 2023-09-27 18:09:55

我正尝试在c#程序中使用LINQ从数据库获取信息。我发现了很多从基本查询到高级查询的示例,但我找不到任何可以获得基本数据库连接的示例。参见下面的基本LINQ示例:

var adultNames = from person in people
                 where person.Age >= 18
                 select person.Name; 

我只是不知道如何得到一个特定的数据库表,并从中返回信息。我希望能够连接到一个数据库表,并返回一些信息出来。谢谢!

如何从数据库中获取数据源

有一个非常简单的方法来连接到数据库,尽管我建议你阅读应用程序配置之后和你的项目的其他部分,看看它是如何工作的。

在菜单栏中单击Data -> Add New Data Source。从这里选择数据库,然后选择实体数据模型。按照下面的步骤为您的项目创建数据源。

在你的程序中,你可以使用

创建一个数据源对象:

WhatYouCalledTheDataSource = new WhatYouCalledTheDataSource();

你可以通过改变查询的第一行来查询这个对象:

var adultNames = from person in datasourceObject.people 

获取所需的数据,一旦有了查询,就可以将结果放入如下列表中:

List<string> queryResults = new List<string>();
queryResults.AddRange(adultNames);

要记住,我基于name将是字符串的想法。您还可以基于诸如

之类的表创建列表
var adultNames = from person ...
                 ...
                 select person;
List<people> queryResults = new List<people>();
queryResults.AddRange(adultNames);

听起来你一直在看LINQ的例子,它允许你从数据集查询。您还需要一个对象关系映射器(Object Relational Mapper, ORM)。看看LINQ to SQL或实体框架(较新的)来开始这个。这一层将对数据库进行内省,并创建许多基础设施,以便根据数据模型为您提取数据。

如果您正在使用Linq to Sql,那么这可能会有所帮助:http://weblogs.asp.net/scottgu/archive/2007/05/19/using-linq-to-sql-part-1.aspx
实体框架:http://www.codeguru.com/csharp/csharp/net30/article.php/c15489

有许多方法可以从数据库中检索数据。ADO。. NET是通用技术。您的具体选项是:

系统。数据/SqlClient ODP

可以使用ADO中的标准查询系统。. NET从使用ODBC的任何数据库获取数据,或者使用本地数据提供程序(如SqlClient或ODP)。SqlClient命名空间可能用于从SQL Server获取数据。Oracle Data Provider (ODP)与Oracle一起使用。

你必须自己用"raw" ADO.NET编写查询/存储过程。

这是一个很好的ADO清单。. NET示例代码:http://msdn.microsoft.com/en-us/library/dw70f090.aspx

这里是Oracle的ODP的链接:
http://www.oracle.com/technetwork/topics/dotnet/index - 085163. - html

LINQ to SQL

LINQ to SQL是一个专门针对SQL Server数据库的LINQ提供程序。它仍然被支持,但被实体框架取代。

更多细节在这里:http://weblogs.asp.net/scottgu/archive/2007/05/19/using-linq-to-sql-part-1.aspx

实体框架

实体框架可以与SQL Server本地工作,也可以使用第三方或开源数据提供商与Oracle一起工作。

实体框架4/4.1将允许您使用实体数据模型 (EDM)作为数据库的抽象。EDM将提供一组可以与之交互的对象,并使用Context对象检索/提交数据到数据库。CRUD查询是从您的LINQ语法动态生成的,因此在大多数情况下您不必自己编写T-SQL或PL-SQL查询。

下面是实体框架的一个基本例子:http://www.codeproject.com/KB/database/sample_entity_framework.aspx

如果您有一个数据库表people,那么您可以使用LINQ-to-SQL从中返回信息,首先您需要引用以下两个程序集。

using System.Data.Linq;
using System.Data.Linq.Mapping;

定义如下实体:

[table]
class people
{
    [column]
    public int Age { get; set; };
    [column] 
    public string Name { get; set; };
}

,则可以对数据库

进行tour查询。
Datacontext db = new DataContext("database Connection String");
var adultNames = from person in db.GetTable<people>()
             where person.Age >= 18
             select person.Name; 

如果你看一下这个NerdDinner pdf文件,它创建了一个MVC解决方案,它一步一步地展示了如何使用Linq to SQL创建数据集