请问:
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            csDataContext cdc = new csDataContext(@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\xfq.mdf;Integrated Security=True;User Instance=True");
            var query = from m in cdc.fq
                        select m;            this.GridView1.DataSource = query;
            this.GridView1.DataBind();
        }
    }与
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            csDataContext cdc = new csDataContext();
            var query = from m in cdc.fq
                        select m;            this.GridView1.DataSource = query;
            this.GridView1.DataBind();
        }
    }这两个区别就是第一个写了连接字符串,但两个都可以显示。
那这里写不写连接字符串有什么说道吗?
是不是可以不写?能不能在以后的工作中出问题呀?

解决方案 »

  1.   

    一般创建一个linqtosql服务的时候,你的连接字符串都写到.config文件中去了
    如果你想动态链接另外的服务器数据库可以手动写
      

  2.   

    看看csDataContext类的定义吧。
    这个类的构造函数里面肯定有连接字符串的引用或使用,
    同时也有可以接受传参数的重载方法。
    不然你怎么可能直接new csDataContext(); 就可以用??
    程序是死的,你不高诉它连接什么数据库,它是不可能知道的!!
    不要对严谨的科学产生浪漫的幻想,呵呵