C#Linq到SQL连接字符串(新手)

我是sql学习者的新linq,这是我第一次尝试创建数据查看器程序。 这个想法很简单,我想创建一个能够查看数据库中表格内容的软件。 而已。

我已经在这里得到了一个早期的问题,我在网上看到了许多tutes和文章,但我仍然无法解决这个问题。

这是我的代码:

static void Main(string[] args) { string cs = "Data Source=localhost;Initial Catalog=somedb;Integrated Security=SSPI;"; var db = new DataClasses1DataContext(cs); db.Connection.Open(); foreach (var b in db.Mapping.GetTables()) Console.WriteLine(b.TableName); Console.ReadKey(true); } 

当我试图检查db.connection.equals(null); 它返回false ,所以我认为我已成功连接到数据库,因为根本没有错误。 但上面的代码不会在屏幕上打印任何内容。

我有点失落,不知道这里发生了什么。 有谁知道这里出了什么问题?

好的,我们来看看其中的一些内容:


 var db = new DataClasses1DataContext(cs); 

这是对构造函数的完全正常和精细的调用。 由于DataContext实现了IDisposable,因此当您将其用于实际时,请考虑使用using语句。

 using (var db = new DataClasses1DataContext(cs)) { // do stuff with db here } // when leaving the block, db is disposed - even in the case of an exception. 

 db.Connection.Open(); 

不要这样做。 DataContext将在需要时打开和关闭连接。


 foreach (var b in db.Mapping.GetTables()) Console.WriteLine(b.TableName); 

嗯,也许映射中没有表格。 您是否从服务器资源管理器将表拖到设计器表面上?

大多数人会查询表而不是仔细查看映射。 请考虑使用此代码:

 foreach (var customer in db.Customer.Take(10)) { Console.WriteLine(customer.Name); } 

这是一个video,展示了如何从服务器资源管理器将表拖到设计器表面上:

http://www.youtube.com/watch?v=z9L11qrw9gk

尝试将您的连接字符串更改为以下

 string cs = @"Data Source=.\;Initial Catalog=somedb;Integrated Security=SSPI;";