Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# linq的作用域标识_C#_Linq To Sql_Insert - Fatal编程技术网

C# linq的作用域标识

C# linq的作用域标识,c#,linq-to-sql,insert,C#,Linq To Sql,Insert,您希望如何在TODO语句中使用像linq的作用域标识这样的过程 protected void btnAdd_Click(object sender, EventArgs e) { if (txtZip.Text != "" && txtAdd1.Text != "" && txtCity.Text != "") { TestDataClassDataContext dc = new TestD

您希望如何在TODO语句中使用像linq的作用域标识这样的过程

    protected void btnAdd_Click(object sender, EventArgs e)
    {
        if (txtZip.Text != "" && txtAdd1.Text != "" && txtCity.Text != "")
        {
            TestDataClassDataContext dc = new TestDataClassDataContext();
            Address addr = new Address()
            {
                AddressLine1 = txtAdd1.Text,
                AddressLine2 = txtAdd2.Text,
                City = txtCity.Text,
                PostalCode = txtZip.Text,
                StateProvinceID = Convert.ToInt32(ddlState.SelectedValue)
            };
            dc.Addresses.InsertOnSubmit(addr);
            lblSuccess.Visible = true;
            lblErrMsg.Visible = false;
            dc.SubmitChanges();
     //
     //    TODO: insert new row in EmployeeAddress to reference CurEmp to newly created address
     //
            SetAddrList();
        }
        else
        {
            lblErrMsg.Text = "Invalid Input";
            lblErrMsg.Visible = true;
        }
    }

    protected void SetAddrList()
    {
        TestDataClassDataContext dc = new TestDataClassDataContext();
        dc.ObjectTrackingEnabled = false;

        var addList = from addr in dc.Addresses
                      from eaddr in dc.EmployeeAddresses
                      where eaddr.EmployeeID == _curEmpID && addr.AddressID == eaddr.AddressID
                      select new
                      {
                          AddValue = addr.AddressID,
                          AddText = addr.AddressID,
                      };
        ddlAddList.DataSource = addList;
        ddlAddList.DataValueField = "AddValue";
        ddlAddList.DataTextField = "AddText";
        ddlAddList.DataBind();
        ddlAddList.Items.Add(new ListItem("<Add Address>", "-1"));
    }
protectedvoidbtnadd\u单击(对象发送者,事件参数e)
{
if(txtZip.Text!=“”&&txtAdd1.Text!=“”&&txtCity.Text!=“”)
{
TestDataClassDataContext dc=新的TestDataClassDataContext();
地址addr=新地址()
{
AddressLine1=txtAdd1.Text,
AddressLine2=txtAdd2.Text,
City=txtCity.Text,
PostalCode=txtZip.Text,
StateProvinceID=Convert.ToInt32(ddlState.SelectedValue)
};
dc.Addresses.InsertOnSubmit(地址);
lblSuccess.Visible=true;
lblErrMsg.Visible=false;
dc.提交更改();
//
//TODO:在EmployeeAddress中插入新行以将CurEmp引用到新创建的地址
//
SetAddrList();
}
其他的
{
lblErrMsg.Text=“输入无效”;
lblErrMsg.Visible=true;
}
}
受保护的void SetAddrList()
{
TestDataClassDataContext dc=新的TestDataClassDataContext();
dc.ObjectTrackingEnabled=false;
var addList=来自dc地址中的addr
来自华盛顿特区的eaddr。员工地址
其中eaddr.EmployeeID==\u curEmpID&&addr.AddressID==eaddr.AddressID
选择新的
{
AddValue=addr.AddressID,
AddText=addr.AddressID,
};
ddlAddList.DataSource=addList;
ddlAddList.DataValueField=“AddValue”;
ddlAddList.DataTextField=“AddText”;
ddlAddList.DataBind();
ddlAddList.Items.Add(新列表项(“,”-1”);
}

您可以将其作为参数传递给SetAddrList void,然后您就可以访问该对象的所有属性,包括新创建的主键

SetAddrList(addr);

...
...

protected void SetAddrList(Address addr)

好的,我已经弄明白了,我不确定这是不是那么简单

不确定这个答案在编辑问题后是否适用?
    protected void btnAdd_Click(object sender, EventArgs e)
    {
        if (txtZip.Text != "" && txtAdd1.Text != "" && txtCity.Text != "")
        {
            TestDataClassDataContext dc = new TestDataClassDataContext();
            Address addr = new Address()
            {
                AddressLine1 = txtAdd1.Text,
                AddressLine2 = txtAdd2.Text,
                City = txtCity.Text,
                PostalCode = txtZip.Text,
                StateProvinceID = Convert.ToInt32(ddlState.SelectedValue)
            };
            dc.Addresses.InsertOnSubmit(addr);

            dc.SubmitChanges();
            int nAddID = addr.AddressID;
            EmployeeAddress empadd = new EmployeeAddress()
            {
                EmployeeID = Convert.ToInt32(_curEmpID),
                AddressID = nAddID
            };
            dc.EmployeeAddresses.InsertOnSubmit(empadd);
            dc.SubmitChanges();
            lblSuccess.Visible = true;
            lblErrMsg.Visible = false;
            SetAddrList();
        }
        else
        {
            lblErrMsg.Text = "Invalid Input";
            lblErrMsg.Visible = true;
        }
    }