2017-09-11 18 views
-1

私はCRUD操作を実行しているMVCのミニプロジェクトに取り組んでいます。 私は3つのテーブルを持っています 従業員:PK:EmpID 給与:FK:EmpID 画像:Fk:EmpID 私は2つのhtmlページの間をナビゲートし、one.htmlからtwo.htmlへのPKを渡します。 salaryとImagesのデータにtwo.htmlでアクセスしたいのですが、私はEmployeeテーブルのプライマリキーを持っていて、残りの2つのテーブルには外部キーです。mVCでプライマリキーを送信して外部キーを取得するにはどうすればよいですか?

私は給与と画像テーブルでFKとして扱われるのEmpIDに接続されているすべてのデータを読むことをお勧めします。 のEmpIDが のEmpIDが給与と画像テーブルの複数の行(FK)

は事前に21はあなたが受け取った従業員のidパラメータである

+0

あなたはこれについて 'JOIN'を学ぶ必要があります。ここでのリンクは次のとおりです。-https: –

+0

//www.w3schools.com/sql/sql_join.asp私はOPはこのため 'JOIN'を学ぶ必要はないと思うPKとFK –

答えて

1
var employeeImages = _dbContext.Images.Where(i => i.EmpID == 21).ToList(); 

ありがとう持つ(PK)Employeeテーブルに1行しかありあなたの行動方法。

var employeeSalaries = _dbContext.Salaries.Where(i => i.EmpID == 21).ToList(); 

それとも同じコールの両方の事柄:同様にあなたのような給料のために

問い合わせることができます

var employee = _dbContext.Employee.Where(e => e.Id == 21).Include(e => e.Images).Include(e => e.Salaries).ToList(); 

あなたのコントローラーがあるから直接DbContextを呼び出して、本番アプリケーションで作業している場合良い考えではありません。 EF's documentationもご覧ください。あなたは、コントローラ層で作業しているとき

また、FKSとPKSの観点からのものについて考えていません。それらは単なるドメインモデルです。これらのことを識別子の点で考えてみましょう。 FKとPKは、データベースレベルに達すると初めてゲームに登場します(少なくともコントローラーではないはずです)。

+0

のすべての条件を満たしてテーブルを作成しました。ここにリンクがあります:-https://www.w3schools.com/sql/sql_join.asp –

+0

場合があります。 :)しかしOPはone.htmlからtwo.htmlへのナビゲーションに問題があると言われています。 – Aneeq

+0

URLにIDを渡してコントローラに接続していますが、正常に動作しています。私は21を給与テーブルのFKとして扱う必要がある給与テーブルの主キーとして21が取得されているので、データベースから10〜12行を取得できるようになります。 –

関連する問題