如何使用linq的范围标识等过程想要在TODO语句中使用它
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"));
}
答案 0 :(得分:1)
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;
}
}
好的已经弄清楚我不确定它是否那么简单
答案 1 :(得分:0)
您可以将其作为参数传递给SetAddrList void,然后您将可以访问该对象的所有属性,包括新创建的主键。
SetAddrList(addr);
...
...
protected void SetAddrList(Address addr)