0
私はこの午後中にこの問題に悩まされていました。MVC 3モデル間をナビゲートする際の表示のエラー
私はMVC 3とセットアップの二つのモデルを使用しています:
public class Employee
{
[Key]
public virtual int Id { get; set; }
public virtual string Emp_Id { get; set; }
public virtual string Emp_Name { get; set; }
public virtual int Emp_Type { get; set; }
public virtual ICollection<Job> Jobs { get; set; }
}
public class Job
{
[Key]
public virtual int Id { get; set; }
public virtual string SO { get; set; }
public virtual int? Manhour_Type { get; set; }
public virtual DateTime? StartJob { get; set; }
public virtual DateTime? EndJob { get; set; }
public virtual double? Duration { get; set; }
public virtual Employee employee { get; set; }
}
2つのデータベースが、このコードによって生成され
次のように
public class JMCDB : DbContext
{
public DbSet<Employee> Employees { get; set; }
public DbSet<Job> Jobs { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<Job>().HasRequired(j => j.employee).WithMany(e => e.Jobs);
}
}
私はJobControllerを作成します。
public class JobController : Controller
{
//
// GET: /Job/
JMCDB _db = new JMCDB();
public ActionResult Index()
{
var job = _db.Jobs;
return View(job);
}
}
「表示」では、この特定の仕事の従業員名が表示されます。
@foreach (var item in Model) {
<tr>
<td>
@Html.DisplayFor(modelItem => item.SO)
</td>
<td>
@Html.DisplayFor(modelItem => item.Manhour_Type)
</td>
<td>
@Html.DisplayFor(modelItem => item.StartJob)
</td>
<td>
@Html.DisplayFor(modelItem => item.EndJob)
</td>
<td>
@Html.DisplayFor(modelItem => item.employee.Emp_Name)
</td>
<td>
</td>
</tr>
}
しかし、私はプログラムを実行すると、誰がどのように私に言うことができる場合、私は、感謝を解決する方法がわからないコード
"@Html.DisplayFor(modelItem => item.employee.Emp_Name)"
の最後の行のエラーがあります。
を
Include
メソッドを使用することができますか?エンティティをどのように「ロード」し、例外メッセージは何ですか? – dknaack