私は MVC の初心者で、EF-database-first を使用して MVC4 アプリケーションを作成しました。データベースに外部キー定義が含まれておらず、追加できません (データベースを所有していません)。データベースの 2 つのクラスの例を次に示します。
public partial class Allocation
{
public int AllocID { get; set; }
public int DeptID { get; set; }
public decimal AllocationPercent { get; set; }
}
public partial class Department
{
public int DeptID { get; set; }
public string DeptName { get; set; }
public string Account { get; set; }
}
デフォルトの割り当てインデックス ページには、部門 ID が表示されます。代わりに部門名を表示したい。ナビゲーション プロパティなしでこれを行うにはどうすればよいですか?
私は試した
public class AllocationController : Controller
{
private Entities db = new Entities();
//
// GET: /Allocation/
public ActionResult Index()
{
return View(db.Allocation.Include(d => d.DeptID).ToList());
}
...
しかし、これによりエラーが発生します (「指定されたインクルード パスは無効です。EntityType 'TESTModel.Allocation' は、'DeptID' という名前のナビゲーション プロパティを宣言していません。」)...
ナビゲーション プロパティを使用せずにeager-loadingまたはexplicit-loadingをコーディングする方法がわからないため、この質問が生じました。効率的には、関連する情報をどの方法でロードするかは問題ではないと思います。