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");
}
}
}