Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.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# 比较数组并将数据创建到数据库中_C#_Arrays_Linq - Fatal编程技术网

C# 比较数组并将数据创建到数据库中

C# 比较数组并将数据创建到数据库中,c#,arrays,linq,C#,Arrays,Linq,我现在一直在考虑数组比较和创建它。我有两张桌子,车站和位置。桩号内的列是id和桩号名称。位置表也有相同的内容,只是名称不同。我将id放入一个数组中,并将名称放入数组中。我想比较名称和id,以便当用户选择名称时,程序知道哪个id属于所选名称,并使用它们的主键将其保存到另一个表中。下面是我从现在开始创建的代码,但我不知道如何解决它。希望我能在这里得到一些帮助。谢谢 private void btnCreate_Click(object sender, EventArgs e) {

我现在一直在考虑数组比较和创建它。我有两张桌子,车站和位置。桩号内的列是id和桩号名称。位置表也有相同的内容,只是名称不同。我将id放入一个数组中,并将名称放入数组中。我想比较名称和id,以便当用户选择名称时,程序知道哪个id属于所选名称,并使用它们的主键将其保存到另一个表中。下面是我从现在开始创建的代码,但我不知道如何解决它。希望我能在这里得到一些帮助。谢谢

private void btnCreate_Click(object sender, EventArgs e)
    {
        using (testEntities Setupctx = new testEntities())
        {
            string[] stations = StationNameList();
            int[] stationsID = StationIDList();
            string[] locations = LocationNameList();
            int[] locationsID = LocationIDList();

            int Stationindex = cbStation.SelectedIndex;
            int Locationindex = cbLocation.SelectedIndex;

            trolleyservice TS = new trolleyservice();
            TS.stationID = cbStation.SelectedIndex;
            TS.locationID = cbLocation.SelectedIndex;
            TS.tServiceTiming = txtTime.Text;
            TS.tServiceType = txtType.Text;
            Setupctx.trolleyservices.AddObject(TS);
            txtTime.Text = "";
            txtType.Text = "";

            MessageBox.Show("New Trolley Service Has Been Created.");
        }
    }
下面是我为每个表创建的所有数组

 private string[] StationNameList()
    {
        using (testEntities Setupctx = new testEntities())
        {
            return Setupctx.stations.Select(s => s.Station1).OrderBy(s => s).ToArray();

        }
    }

    private int[] StationIDList()
    {
        using (testEntities Setupctx = new testEntities())
        {
            return Setupctx.stations.Select(sid => sid.idstations).OrderBy(sid => sid).ToArray();
        }
    }

    private string[] LocationNameList()
    {
        using (testEntities Setupctx = new testEntities())
        {
            return Setupctx.locations.Select(l => l.Location1).OrderBy(l => l).ToArray();
        }
    }

    private int[] LocationIDList()
    {
        using (testEntities Setupctx = new testEntities())
        {
            return Setupctx.locations.Select(lid => lid.idlocation).OrderBy(lid => lid).ToArray();
        }
    }

在这里,您可以做一些事情,而不是使用两个不同的名称和id数组,您可以像这样使用station类的列表

 private List<stations> StationNameList()
  {
    using (testEntities Setupctx = new testEntities())
    {
        return Setupctx.stations.OrderBy(s => s.Station1).ToList();
    }
  }
现在使用conbobox的SelectedValue属性,而不是您将获得的SelectedIndex属性 与站点名称相关的站点id

 TS.stationID = cbStation.SelectedValue;
位置也是一样


您也可以使用数组代替此处的列表。

您的问题到底是什么?当我选择电台名称时,我需要电台名称知道它的ID,并将其保存到另一个表中,因为我使用该ID作为该表的外键。
 TS.stationID = cbStation.SelectedValue;