0
我在MVC3編程和我有以下型號:實體框架 - 代碼第一次4.1 - ASP.NET MVC3
public class L_CabecRegistoPedido
{
[Key]
public int Id { get; set; }
public int Numero { get; set; }
public int Ano { get; set; }
public int Utilizador { get; set; }
public String Cliente { get; set; }
public String NomeEmpresa { get; set; }
public String MarcaEmpresa { get; set; }
public int? Marca { get; set; }
public String Projecto { get; set; }
public String Responsavel { get; set; }
public String EmailResp { get; set; }
public String TelefoneResp { get; set; }
public String DepartamentoEmpresa { get; set; }
public int? Departamento { get; set; }
public DateTime DataRegisto { get; set; }
public int? EstadoPedido { get; set; }
public int? FasePedido { get; set; }
public DateTime DataEntregaRequisitada { get; set; }
public DateTime DataEntrega { get; set; }
public String Observacoes { get; set; }
public bool Transformacao { get; set; }
public int Versao { get; set; }
public List<L_LinhaRegistoPedido> Linhas { get; set; }
}
public class L_LinhaRegistoPedido
{
[Key]
public int Id { get; set; }
public int? IdCabec { get; set; } /* **Foreign Key to L_CabecRegistoPedido ** */
public int Utilizador { get; set; }
public String Artigo { get; set; }
public String CabDescricao { get; set; }
public String Descricao { get; set; } /* TODO: espaço neste campo*/
public Double Quantidade { get; set; }
public DateTime DataRegisto { get; set; }
public DateTime DataEntregaRequisitada { get; set; }
public DateTime DataEntrega { get; set; }
public int? EstadoLinhasPedido { get; set; }
public int? FaseLinhasPedido { get; set; }
public String Observacoes { get; set; }
public bool Transformacao { get; set; }
public L_CabecRegistoPedido CabecRegisto { get; set; }
public List<L_SubLinhaRegistoPedido> SubLinhas { get; set; }
}
然後我使用的DbContext是這樣的:
public class AppADO : DbContext
{
public AppADO(String ConnectionStringName)
: base(ConnectionStringName) { }
public DbSet<L_CabecRegistoPedido> L_CabecRegistoPedido { get; set; }
}
並在控制器的時候,我做的SaveChanges()我有這樣的代碼:
[HttpPost]
public ActionResult Create(FormCollection formCollection)
{
L_LinhaRegistoPedido linhaRegisto = new L_LinhaRegistoPedido();
try
{
if (ModelState.IsValid)
{
if (String.IsNullOrEmpty(formCollection["IDArtigo"])) linhaRegisto.Artigo = null; else linhaRegisto.Artigo = formCollection["IDArtigo"];
linhaRegisto.IdCabec = int.Parse(formCollection["IDRegistoPedido"]);
linhaRegisto.Quantidade = Double.Parse(formCollection["IDQuantidade"]);
linhaRegisto.CabDescricao = formCollection["IDCabDescricao"];
linhaRegisto.Descricao = formCollection["IDDescricao"];
linhaRegisto.DataRegisto = DateTime.Parse(formCollection["IDDataRegisto"]);
linhaRegisto.DataEntrega = DateTime.Parse(formCollection["IDDataEntrega"]);
linhaRegisto.DataEntregaRequisitada = DateTime.Parse(formCollection["IDDataEntregaRequisitada"]);
if (string.IsNullOrEmpty(formCollection["IDEstadoLinha"])) linhaRegisto.EstadoLinhasPedido = null; else linhaRegisto.EstadoLinhasPedido = int.Parse(formCollection["IDEstadoLinha"]);
if (string.IsNullOrEmpty(formCollection["IDFaseLinha"])) linhaRegisto.FaseLinhasPedido = null; else linhaRegisto.FaseLinhasPedido = int.Parse(formCollection["IDFaseLinha"]);
linhaRegisto.Observacoes = formCollection["IDObservacoes"];
appAdo.L_LinhaRegistoPedido.Add(linhaRegisto);
appAdo.SaveChanges();
}
return RedirectToAction("Index");
}
catch (Exception ex)
{
ModelState.AddModelError("", ex);
return View(linhaRegisto);
}
}
,但我得到的錯誤:
「無效的列名'CabecRegisto_Id'。」
由實體框架生成此列,我不知道如何L_LinhaRegistoPedido(IdCabec)的外鍵的實體框架找到國外關聯到L_CabecRegisto並不會產生這種自動..