1

私は Entity Framework 5 を使用しており、既存のデータベース スキーマの上で使用したいコード ファースト モデルを作成しています。したがって、スキーマの設計を制御することはできません。

私は2つのテーブルを持っていmattersますusers. テーブルには、システムのusers実際のユーザーであるユーザー アカウントが含まれています。mattersテーブルには、スケジュールされた予定などに似たデータが含まれています。

テーブルには、という名前の列にmattersへの外部キーがあります。この列には、「ねえ、この行はこのの を指定しています」とだけ書かれています。これはオプションのキーです。案件にマネージャーがいる必要はありません。usersmanagerusersmanagermatter

のレコードのモデルには、usersこれらの問題にマップするプロパティは必要ありません。

マッピングでの現在の試みは次のようになります。

modelBuilder.Entity<Matter>().HasOptional(m => m.ProjectManager).WithRequired().Map(m => m.MapKey("project_manager"));

それでMatter、モデルのプロパティにオプションのFKがありProjectManager、ユーザーが存在する必要があり、mattersテーブルの列名がproject_manager.

ただし、これは機能せず、生成された SQL は正しくありませんが、探しているものを取得する方法がわかりません。私がSQLを書くとしたら、次のようになります

SELECT matters.*, users.*
FROM matters
LEFT JOIN users ON matters.project_manager = users.id
4

1 に答える 1