我有一张表“Projeto”,其中3张前进键位于同一张桌子“Usuario”。
当我尝试插入新的“Projeto”时,我收到错误:“IEntityChangeTracker的多个实例无法引用实体对象。”
这是我的插入/保存代码
Usuario usuarioLogado = UsuarioService.GetById(ControlesDeAcesso.IdUsuarioLogado());
Projeto projeto = new Projeto();
projeto.Titulo = tbxTitulo.Text;
projeto.TipoDeProjeto = tbxTipo.Text;
projeto.Plataforma = PlataformaService.GetById(Convert.ToInt32(ddlPlataforma.SelectedValue));
projeto.Descricao = tbxResumo.Text;
projeto.SituacaoProjeto = SituacaoProjetoService.GetById(Convert.ToInt32(ddlSituacao.SelectedValue));
projeto.DataInicio = tbxDataInicio.Text.ToNullableDateTime();
projeto.Usuario = UsuarioService.GetById(Convert.ToInt32(ddlResponsavel.SelectedValue));
projeto.Usuario2 = usuarioLogado;
projeto.UltimaAtualizacao = DateTime.Now;
projeto.Usuario1 = usuarioLogado;
projeto.DataCriacao = DateTime.Now;
ProjetoService.Insert(projeto);
ProjetoService.Save();
这是我自动生成的课程
public partial class Projeto
{
public Projeto()
{
this.AnexoProjeto = new HashSet<AnexoProjeto>();
this.FinanceiroProjeto = new HashSet<FinanceiroProjeto>();
this.TarefaProjeto = new HashSet<TarefaProjeto>();
}
public int Id { get; set; }
public string Titulo { get; set; }
public string TipoDeProjeto { get; set; }
public int IdPlataforma { get; set; }
public string Descricao { get; set; }
public int IdSituacaoProjeto { get; set; }
public Nullable<System.DateTime> DataInicio { get; set; }
public Nullable<System.DateTime> DataTermino { get; set; }
public int IdResponsavel { get; set; }
public System.DateTime UltimaAtualizacao { get; set; }
public int IdUsuarioAtualizacao { get; set; }
public int Prioridade { get; set; }
public System.DateTime DataCriacao { get; set; }
public int IdUsuarioCriacao { get; set; }
public virtual ICollection<AnexoProjeto> AnexoProjeto { get; set; }
public virtual ICollection<FinanceiroProjeto> FinanceiroProjeto { get; set; }
public virtual Plataforma Plataforma { get; set; }
public virtual Usuario Usuario { get; set; }
public virtual SituacaoProjeto SituacaoProjeto { get; set; }
public virtual Usuario Usuario1 { get; set; }
public virtual ICollection<TarefaProjeto> TarefaProjeto { get; set; }
public virtual Usuario Usuario2 { get; set; }
}
如果我可以在不编辑自动生成的代码的情况下解决这个问题,那就太好了。但无论如何我还需要解决。