Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/291.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# 如何获取<;中的id列表;列表>;在LINQ中插入后?_C#_Asp.net_Linq_Linq To Sql_Webforms - Fatal编程技术网

C# 如何获取<;中的id列表;列表>;在LINQ中插入后?

C# 如何获取<;中的id列表;列表>;在LINQ中插入后?,c#,asp.net,linq,linq-to-sql,webforms,C#,Asp.net,Linq,Linq To Sql,Webforms,我有3个关系如下的表: 我正在使用LINQ插入SQL。在插入到Customer表和插入到Customer OrderTour表之后,我可以获得Customer\u Id。但是对于列表访问者表中的Id\u访问者列表,我如何获取它们并插入到客户订单旅游表中(因为客户订单旅游和列表访问者的关系是多对多的) 这是我的密码: int customer_id = 0; #region [Add List Visitors] private void AddListVisitors(StringColle

我有3个关系如下的表:

我正在使用LINQ插入SQL。在插入到Customer表和插入到Customer OrderTour表之后,我可以获得Customer\u Id。但是对于列表访问者表中的Id\u访问者列表,我如何获取它们并插入到客户订单旅游表中(因为客户订单旅游列表访问者的关系是多对多的)

这是我的密码:

int customer_id = 0;

#region [Add List Visitors]
private void AddListVisitors(StringCollection sc)
{
        List_Visitor add_visitors = new List_Visitor();
        var listsToAdd = new List<List_Visitor>();
        foreach (string item in sc)
        {
            if (item.Contains(","))
            {
                var splitItems = item.Split(",".ToCharArray());

                listsToAdd.Add(new List_Visitor() { 
                    Fullname = splitItems[0],
                    add = splitItems[1],
                    Sex = splitItems[2]
                });
            }
        }
        using (var db = new Travel_DBDataContext())
        {
            db.List_Visitors.InsertAllOnSubmit(listsToAdd);
            db.SubmitChanges();
        } 
}
#endregion

#region [Get List Visitors]
private void GetListVisitors() {
        int rowIndex = 0;
        StringCollection sc = new StringCollection();
            DataTable dtCurrentTable = (DataTable)ViewState["CurrentTable"];
            if (dtCurrentTable.Rows.Count > 0)
            {
                for (int i = 1; i <= dtCurrentTable.Rows.Count; i++)
                {
                    //extract the TextBox values
                    TextBox visitor_txtName = (TextBox)grdListVisitors.Rows[rowIndex].Cells[1].FindControl("txtName");
                    TextBox visitor_txtAdd = (TextBox)grdListVisitors.Rows[rowIndex].Cells[1].FindControl("txtAdd");
                    DropDownList visitor_ddlSex = (DropDownList)grdListVisitors.Rows[rowIndex].Cells[1].FindControl("ddlSex");

                    sc.Add(visitor_txtName.Text + "," + visitor_txtAdd.Text + "," + visitor_ddlSex.SelectedItem.Text);
                    rowIndex++;
                }
                //Store the current data to StringCollection
                AddListVisitors(sc);        
}
#endregion

#region [Add New Customer]
private void AddNewCustomer() {
        Customer add_customer = new Customer();
        add_customer.Fullname = txtName.Text;
        add_customer.add = txtAdd.Text;
        add_customer.Phone = txtPhone.Text;
        add_customer.Email = txtEmail.Text;
        db.Customers.InsertOnSubmit(add_customer);
        db.SubmitChanges();

        customer_id = add_customer.Customer_Id;
}
#endregion

#region [Add Customer Order]
private void AddCustomerOrder (){
    Customer_OrderTour cus_order = new Customer_OrderTour();
    cus_order.Customer_Id = customer_id;
    cus_order.Id_visitors = //What should I do here?
}
#endregion
int客户_id=0;
#地区[添加访客列表]
私人void AddListVisitors(StringCollection sc)
{
列表\访问者添加\访问者=新列表\访问者();
var listsToAdd=新列表();
foreach(sc中的字符串项)
{
如果(项包含(“,”))
{
var splitItems=item.Split(“,”.ToCharArray());
添加(新列表\访问者(){
Fullname=splitItems[0],
添加=拆分项目[1],
性别=拆分项目[2]
});
}
}
使用(var db=new Travel_DBDataContext())
{
db.List_访客。InsertAllOnSubmit(listsToAdd);
db.SubmitChanges();
} 
}
#端区
#区域[获取访客列表]
私有void GetListVisitors(){
int rowIndex=0;
StringCollection sc=新的StringCollection();
DataTable dtCurrentTable=(DataTable)视图状态[“CurrentTable”];
如果(dtCurrentTable.Rows.Count>0)
{

对于(int i=1;如果链接或联接表是多对多的,我不应该为它们设置链接或联接表吗?也许我遗漏了什么,但你应该从Customer\u OrderTour获取Id,并将其插入到一个新表“Tour\u Visitors”中,该表也将所有行的Id插入到List\u Visitors中。@FullTimeSkeleton你能帮我编辑我的代码吗?你需要创建新的DB t吗能够然后重新生成您的DBML。我还建议将您的代码分成更接近n层结构的部分,因为如果扩展到更大的部分,会变得更混乱。@FullTimeSkeleton,因为我的项目很小。我不知道如何获取列表Id\u访问者。给我一些建议。谢谢:)好的,您需要做的是循环浏览访客列表,并将每个访客添加到数据库中,获取新添加行的Id,然后将该行+customer\u ordertourid插入新的联接表中。这样,您的链接表将填充相关数据。请阅读此处