2017-04-06 7 views
0

3つのテーブルを結合する必要があります。のは、理想的には私はAはIDが含まれてい 2つのテーブルに参加するが、参加の値を変更する必要がある

C.

にBに参加する必要があり、BとCの

それらを呼ぶことにしましょう。 B AIDが含まれています。簡単に参加できます。

ただし、Cには "00901"のような列があります。私はそれをテーブルBのAID「9」に合わせる。

「00901」はvarcharですが、AIDはintです。

searchResults = db.A 
    .Join(db.B, a => a.ID, b => b.AID, (a, b) => new { a = a, b = b }) 
    .Join(db.C, b => b.b.AID, c => Int32.Parse(c.cID.Substring(0, 3).TrimStart('0')), (b, c) => new { b = b, c = c }) 
    .Select(c => c.).Distinct(); //this line is not complete 

私はこれをどのように行うことができますか?

+0

必要なロジックは何ですか?それは単に表Bの列の3番目の文字に基づいていますか? – juunas

+1

'9'を' '00901" 'にどのようにマッチさせますか?また、 'db'とは、対象のORM(クエリプロバイダ)の型を指定してください。 –

+0

イワンは質問です。単純にサブストリングを実行して値を変更できますか? – yondaimehokage

答えて

0

テーブルに列を追加して、誰もが簡単に使用できるようにすることにしました。だから、この質問はもはや必要ではありません。ご協力いただきありがとうございます。

関連する問題