如何从数据库中获取数据源
本文关键字:获取 数据源 数据库 | 更新日期: 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是一个专门针对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创建数据集