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