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

C#Linq到SQL连接字符串(新手),c#,sql,linq,connection-string,datacontext,C#,Sql,Linq,Connection String,Datacontext,我是一名新的linq to sql学习者,这是我第一次尝试创建data viewer程序。想法很简单,我想创建一个能够查看数据库中表内容的软件。就这样 我在这里已经遇到了一个早期的问题,我在网上看到了很多图坦卡门和文章,但我仍然无法修复这个错误 这是我的密码: static void Main(string[] args) { string cs = "Data Source=localhost;Initial Catalog=somedb;Integrated

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

我在这里已经遇到了一个早期的问题,我在网上看到了很多图坦卡门和文章,但我仍然无法修复这个错误

这是我的密码:

    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
,因此我认为我已成功连接到数据库,因为根本没有错误。但是上面的代码不会将任何内容打印到屏幕上


我有点迷路了,不知道这里发生了什么。有人知道这里出了什么问题吗?

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

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

尝试将连接字符串更改为下面的值

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

好的,让我们看看其中的几行:


这是对构造函数的一个非常正常和精细的调用。由于DATACONTRON实现IDISPOLISTABLE,当您使用它时,请考虑使用USER语句。

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.

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


嗯,可能映射中没有表。是否从服务器资源管理器中将表拖到设计器表面上

大多数人会查询表,而不是仔细阅读映射。请考虑这个代码:

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

下面是一个视频,演示如何从服务器资源管理器将表拖到设计器界面上:


好的,让我们看看其中的几行:


这是对构造函数的一个非常正常和精细的调用。由于DATACONTRON实现IDISPOLISTABLE,当您使用它时,请考虑使用USER语句。

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.

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


嗯,可能映射中没有表。是否从服务器资源管理器中将表拖到设计器表面上

大多数人会查询表,而不是仔细阅读映射。请考虑这个代码:

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

下面是一个视频,演示如何从服务器资源管理器将表拖到设计器界面上:


谢谢你回答我的问题,但尝试之后运气不佳。我也做了一些连接字符串的其他组合,仍然无法从中获取任何数据。似乎我错过了一些让linq与sql server对话的属性,但我还没有弄清楚。谢谢你回答我的问题,但尝试了之后没有运气。我也做了一些连接字符串的其他组合,仍然无法从中获取任何数据。似乎我缺少了某种使linq与sql server对话的属性,但我还不清楚。数据上下文中有多少映射?请尝试
Console.WriteLine(db.Mapping.GetTables().Count();
?映射与表不同。完全正确!数据上下文中根本没有映射,但Count()是返回一个与我在将一些映射拖到设计器中后得到的映射计数相关的数字。谢谢!数据上下文中有多少个映射?请尝试
Console.WriteLine(db.Mapping.GetTables().count();
?映射与表不同。确切地说!数据上下文中根本没有映射,但是count()返回一个与我在将一些映射拖到设计器中后得到的映射计数相关的数字。谢谢!你说的所有内容都是真的!我没有在映射中添加任何表,所以gettables.count()返回了0。非常感谢!你说的所有内容都是真的!我没有在映射中添加任何表,所以gettables.count()返回了0。非常感谢!