C# 使用automapper更新实体框架时出错。角色'';关系的'';具有重数1或0..1
我正在尝试更新由automapper bind获取的模型 当我的更新函数执行时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
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;
}
}
}