1
我有兩個類中的第一條就是 「Movimentacao」:實體框架7錯誤版本
public class Movimentacao
{
public int Id { get; set; }
public decimal Valor { get; set; }
public DateTime Data { get; set; }
public int UsuarioId { get; set; }
public Usuario Usuario { get; set; }
}
,另一種 「Usuario」:
public class Usuario
{
public int Id { get; set; }
public string Nome { get; set; }
public string Email { get; set; }
}
給錯誤:「對象的參考是
@foreach (var m in Model)
{
<tr>
<td>@m.Id</td>
<td>@m.Usuario.Id></td> //Error line
<td>@m.Valor</td>
</tr>
}
:爲對象的實例」
類index.cshtml沒有定義
在第6版類上下文是使用「DbModelBuilder」,但在第7版不存在的,我想知道我能做些什麼,我能做到位HasRequired()的使用:
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<Movimentacao>()
.HasRequired(c => c.UsuarioId);
base.OnModelCreating(modelBuilder);
}
類控制器:
public class MovimentacaoController : Controller
{
private MovimentacaoDAO movimentacaoDAO;
private UsuarioDAO usuarioDAO;
public MovimentacaoController(MovimentacaoDAO movimentacaoDAO, UsuarioDAO usuarioDAO)
{
this.movimentacaoDAO = movimentacaoDAO;
this.usuarioDAO = usuarioDAO;
}
public ActionResult Index()
{
return View(movimentacaoDAO.Lista());
}
public ActionResult Form()
{
ViewBag.Usuarios = usuarioDAO.Lista();
return View();
}
public ActionResult Adiciona(Movimentacao movimentacao)
{
if (ModelState.IsValid)
{
movimentacaoDAO.Adiciona(movimentacao);
return RedirectToAction("Index");
}
else
{
ViewBag.Usuarios = usuarioDAO.Lista();
return View("Form");
}
}
}