Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用automapper更新实体框架时出错。角色'';关系的'';具有重数1或0..1_C#_Entity Framework_Automapper_Fluent Entity Framework - Fatal编程技术网

C# 使用automapper更新实体框架时出错。角色'';关系的'';具有重数1或0..1

C# 使用automapper更新实体框架时出错。角色'';关系的'';具有重数1或0..1,c#,entity-framework,automapper,fluent-entity-framework,C#,Entity Framework,Automapper,Fluent Entity Framework,我正在尝试更新由automapper bind获取的模型 当我的更新函数执行时 Context.Entry(obj).State = EntityState.Modified; 实体框架引发此异常 违反了多重性约束。角色 关系的“立法类别\立法\来源” “Creci.Infra.Data.Context.legictionCategory_legictions”已 多重数1或0..1 如果我尝试在不使用automapper的情况下更新模型,效果会很好 关系是 public class Legi

我正在尝试更新由automapper bind获取的模型

当我的更新函数执行时

Context.Entry(obj).State = EntityState.Modified;
实体框架引发此异常

违反了多重性约束。角色 关系的“立法类别\立法\来源” “Creci.Infra.Data.Context.legictionCategory_legictions”已 多重数1或0..1

如果我尝试在不使用automapper的情况下更新模型,效果会很好

关系是

public class LegislationCategoryMap : EntityTypeConfiguration<LegislationCategory>
    {
        public LegislationCategoryMap()
        {
            ...

            HasMany(x => x.Legislations)
                .WithRequired(x => x.Category)
                .WillCascadeOnDelete(true);
        }
    }

public class LegislationMap : EntityTypeConfiguration<Legislation>
    {
        public LegislationMap()
        {
            ...

            HasRequired(x => x.Category);
        }
    }
以及更新功能

public void Update(TEntity obj)
        {
            Validate(obj);

            using (var transaction = Context.Database.BeginTransaction())
            {
                try
                {
                    Context.Entry(obj).State = EntityState.Modified;
                    Context.SaveChanges();
                    transaction.Commit();
                }
                catch (Exception)
                {
                    transaction.Rollback();
                    throw;
                }
            }
        }
var model = Mapper.Map(viewModel, repository.GetById(id));
            repository.Update(model);
public void Update(TEntity obj)
        {
            Validate(obj);

            using (var transaction = Context.Database.BeginTransaction())
            {
                try
                {
                    Context.Entry(obj).State = EntityState.Modified;
                    Context.SaveChanges();
                    transaction.Commit();
                }
                catch (Exception)
                {
                    transaction.Rollback();
                    throw;
                }
            }
        }