到目前为止,在我的编程生涯中(两年),我没有太多的数据库经验,但我现在工作的公司广泛使用数据库作为他们的产品,我感觉落后于曲线。
所以我想知道如何最好地开始学习与C#的数据库交互。我读过LINQ-to-SQL和ADO.net。这些是正确的技术吗?
我从哪里开始?
编辑:感谢所有回复。有很多好的 - 我很难选择一个作为“答案”。这对我有很大帮助!
答案 0 :(得分:14)
我建议您花时间从企业库和 ADO学习 Microsoft SQL Server 本身,数据访问应用程序阻止。 NET实体框架。
学习SQL Server的入口点在这里 - >的 SQL Server Developer Center 强>
学习ADO.NET的切入点在这里 - > MSDN Learning ADO.NET
首先,为了更好地了解ADO.NET是什么,请查看以下链接:
了解如何在不使用任何框架和ORM工具的情况下将C#中的直接查询编写到SQL Server,然后继续学习ADO.NET系列中的更多高级技术。
另见:
您可能还想下载 LINQPad ,这是使用LINQ的完美工具。
另外,我建议订阅与ADO.NET相关的 RSS提要:
同时检查使用这些技术的CodePlex.com的现有开源项目并深入了解其源代码。
关于这个主题的好书:
答案 1 :(得分:6)
更新:这个答案过去没有的一件事是链接到SQL和数据库新手的信息,所以我也会在这里放一些相关的链接,以便你(或其他任何人) )可以提高他们的SQL和其他数据库设计技能。
其中很多内容来自我今天写的另一个答案,但它详细介绍了您的具体问题:
原始答案:
这听起来像或多或少需要从C#连接和操作数据库的基本介绍。上面的海报说看看LINQ to SQL,但你也可以看看ADO.NET的更基本的底层框架,它将让你了解它的工作原理。
此外,您可以将此站点right here用于C#的许多不同的数据库教程。
修改:来自C# Station,CodeProject和Codersource的更多信息
编辑2 :如果您对其他人如上所述的Linq to SQL感兴趣,请参阅C# Corner和C-Sharp Online
中的一些教程。编辑3 :其他人也会建议诸如ADO.NET实体框架之类的东西。对于仍然需要掌握使用数据库的基础知识的初学者,我不一定会建议这样做。以下是MSDN Overview
中的一些信息简单示例(这是直接从上面给出的C#Station链接中提取的)
清单1.使用SqlConnection
using System;
using System.Data;
using System.Data.SqlClient;
/// <summary>
/// Demonstrates how to work with SqlConnection objects
/// </summary>
class SqlConnectionDemo
{
static void Main()
{
// 1. Instantiate the connection
SqlConnection conn = new SqlConnection(
"Data Source=(local);Initial Catalog=Northwind;
Integrated Security=SSPI");
SqlDataReader rdr = null;
try
{
// 2. Open the connection
conn.Open();
// 3. Pass the connection to a command object
SqlCommand cmd =
new SqlCommand("select * from Customers", conn);
//
// 4. Use the connection
//
// get query results
rdr = cmd.ExecuteReader();
// print the CustomerID of each record
while (rdr.Read())
{
Console.WriteLine(rdr[0]);
}
}
finally
{
// close the reader
if (rdr != null)
{
rdr.Close();
}
// 5. Close the connection
if (conn != null)
{
conn.Close();
}
}
}
}
答案 2 :(得分:2)
就个人而言,我认为理解这些“框架”的作用是很好的。我将从一些基本查询开始,尝试获取SQL的工作方式。一旦开始,你可能不会最终使用它,但我总是发现,如果我能理解它为我做了什么,就更容易理解为什么我需要一个框架。
答案 3 :(得分:2)
是的,你已经确定了正确的技术。
我有一些很棒的免费pdfs /电子书供您查看:
<强> ADO.NET 强>
http://www.murach.com/books/adon/chapters.htm(vb和ado.net
http://www.springerlink.com/content/w2126101r8qr2052/(使用c#的ado.net基础知识)
http://archive.visualstudiomagazine.com/books/chapters/1590595122.pdf(vb&amp; c#)
http://dotnet.jku.at/courses/tutorial/05.ADO.NET.pdf(精彩概述powerpoint)
http://docs.msdnaa.net/ark_new3.0/cd3/content/Courses%5CVargas%5CCh12.pdf(ado.net book)
http://media.wiley.com/product_data/excerpt/38/07821418/0782141838-1.pdf(很好)
<强> LINQ-TO-SQL 强> Scott Gu的Linq to Sql可能就是你需要一个良好的开端:
http://it-box.blogturk.net/wp-content/themes/it-box/files/LINQToSql.pdf
答案 4 :(得分:1)
在考虑使用LINQ之前,首先了解数据库基础知识和t-sql。如果您不理解联接的工作方式以及数据库的结构,则无法使用任何工具进行有效查询。
以下是一些帮助链接: http://www.tek-tips.com/faqs.cfm?fid=4785 http://www.deeptraining.com/litwin/dbdesign/FundamentalsOfRelationalDatabaseDesign.aspx
答案 5 :(得分:0)
首先从Ben Forta获取所有sql书籍。一旦掌握了基本原理,就可以继续理解库,块和其他框架。在您的职业生涯中,它将帮助您更好地理解数据库。