我在问这里之前尝试过谷歌搜索,但找不到任何解决方案。
我有这两个类和一个映射一对多
我正在尝试附加一个新对象
公共类 MyContext : DbContext { 公共 IDbSet Operacoes { 获取;放; } 公共 IDbSet Apontamentos { 获取;放; } } 公开课歌剧 { 公共字符串 Filial { 得到;放; } 公共字符串 Codigo { 获取;放; } 公共字符串 Descricao { 获取;放; } } 公共课 Apontamento { 公共 int ID { 获取;放; } 公共字符串 Filial { 得到;放; } 公共字符串 OperacaoCodigo { 获取;放; } 公共虚拟 Operacao Operacao { get; 放; } } 公共类 OperacaoMap : EntityTypeConfiguration { 公共 OperacaoMap() { ToTable("za6010"); HasKey(x => new { x.Filial, x.Codigo }) .Property(x => x.Codigo).HasColumnName("za6_cod"); 属性(x => x.Descricao).HasColumnName("za6_desc"); } } 公共类 ApontamentoMap : EntityTypeConfiguration { 公共 ApontamentoMap() { ToTable("za4010"); HasKey(x => new { x.Filial, x.Id }); 属性(x => x.OperacaoCodigo) .HasColumnName("za4_oper"); // HasRequired(x => x.Operacao) 。与许多() .HasForeignKey(x => new { x.Filial, x.OperacaoCodigo }) .WillCascadeOnDelete(false); } } 公共静态类程序 { 静态无效主() { //这不起作用,我需要它来工作。 var context = new MyContext(); var newObj = 新的 Apontamento { 孝顺 = "01", OperacaoCodigo = "001" }; context.Apontamentos.Attach(newObj); var desc = newObj.Operacao.Descricao; // 这里 Operacao 属性为 null //这有效 var newObjTmp = 新的 Apontamento { 孝顺 = "01", OperacaoCodigo = "001" }; var operacao = context.Operacoes.Where(x => x.Codigo == "001"); context.Apontamentos.Attach(newObj); var descTmp = newObjTmp.Operacao.Descricao; // Operacao 属性没问题。 } }