前提・実現したいこと
以下のようなテーブを考えた際に,
テーブルBの列;コードを’ー’と’N’で分割したものとテーブルAの列;年月日を比較して、
テーブルAからシリアル(ここではaaaa)を取得するため、
合致するテーブルAのデータをすべてリストに格納したいです。
該当のソースコード○○○○の箇所が考えつかないため、ご教授いただきたいです。
テーブルA
年 | 月 | 日 | シリアル |
---|---|---|---|
11 | 12 | 4 | aaaa |
22 | 17 | 5 | baaa |
テーブルB
コード | |
---|---|
11-12N4 | |
10-3N4 |
該当のソースコード
C#
1 2 //リストにテーブルBのコードを入れる 3 var List = new List<string>(); 4 テーブルBエンティティ.ForEach(x => { List.Add(x.Code); }); 5 6 //Listのcodeを三分割して、テーブルAの年月日と比較する処理 7 ○○○○ 8 9 //年月日が一致するものを代入 10 var Newエンティティ = context.テーブルA.Where(x => List.Contains(x.Year.ToString())&& 11 x => List.Contains(x.Month.ToString())&& 12 x => List.Contains(x.Day.ToString())); 13 14 //テーブルBと合致するテーブルAのリスト 15 var GetSerialList = Newエンティティ.ToList(); 16
補足情報(FW/ツールのバージョンなど)
C#
.NET
Entity Framework
SQLServer
VisualStudio2017
>ざっくりとした考え方
テーブルBの列1のデータを’ー’と’N’で分割したものとテーブルAの列123を比較して、テーブルAから列4のデータを取得
ではないのですか。
分割の仕方がわからないということなら、Regex.Split が手っ取り早いと思います。
現状で1行も書けない状態だと考え方聞いてもコードには起こせないのでは
まあ「テーブル」としか書いてないですしね。本当に C# かどうかも怪しいです。
「テーブルA」と「テーブルB」を C# のコードでどのにように表現できますか? それができないようですと、話は通じないと思いますので、質問欄を編集してコードを追記してください。
追記したコードの中のコメント、
> Listのcodeを三分割して、テーブルAの年月日と比較する処理
が分かれば後は自力で解決できるのですね? (それだけでは無理そうな感じがしますので聞いてます)
SurferOnWwwさん
その処理がわかれば、解決するつもりです。。
回答1件
あなたの回答
tips
プレビュー