0

linq クエリを使用して行う外部キーが関係するという問題が発生します。こんな感じで、「駅」と「場所」の2つのテーブルを持っています。これらは、プライマリを使用して別のテーブル「locationstation」にリンクされています。「駅」テーブルと「場所」テーブルの場所から駅名を取得する必要があります。

これは、3 つのテーブルすべてを結合するために使用し、データ グリッド ビューで表示したコードです。

private void Create_LS_Load(object sender, EventArgs e)
    {
        using (testEntities Setupctx = new testEntities())
        {
            var storeStation = (from SLS in Setupctx.locationstations
                                        join station s in Setupctx.stations on SLS.idStation equals s.idstations
                               select s.Station1).Distinct().ToList();                                   
            foreach (var LocationStation in storeStation)
            {
                cbStation.Items.Add(LocationStation);
            }

            var storeLocation = (from SLS in Setupctx.locationstations
                                join location l in Setupctx.locations on SLS.idLocation equals l.idlocation
                                select l.Location1).Distinct().ToList();                                      
            foreach (var LocationStation1 in storeLocation)
            {
                cbLocation.Items.Add(LocationStation1);
            }
        }
    }

データ グリッド ビューへの表示が完了したら、駅名と場所名をそれぞれ 2 つのコンボ ボックスにバインドします。これは私がバインドするコードです。

string selectStation = cbStation.SelectedItem.ToString();
            string selectLocation = cbLocation.SelectedItem.ToString();

その後、コンボ ボックスを使用して駅と場所を選択し、新しい「locationstation」を作成する必要があります。それ、どうやったら出来るの?「locationstation」の下の列名は、「station」と「location」の ID のままです 実際に新しい locationstation を作成するにはどうすればよいですか? 道に迷いました。

どんな助けでも大歓迎です。

4

1 に答える 1

0

名前だけでなく、文字列としての名前だけでなく、選択したオブジェクト全体を取得する必要があります。

Station selectedStation = cbStation.SelectedItem as Station;
Location selectedLocation = cbLocation.SelectedItem as Location;

これで、そのオブジェクトに必要なすべてのプロパティにアクセスできるようになりました。新しいエンティティ(または複数のエンティティ)を構築するために必要な、、などNameを抽出できます。ID

于 2012-07-16T08:39:17.343 に答える