Entity framework 首先删除对实体框架代码的级联更新
我有一个无法找到解决方案的问题:基本上,我想知道如何关闭EF CodeFirst多对多关联上的级联更新 我有两个班Entity framework 首先删除对实体框架代码的级联更新,entity-framework,ef-code-first,Entity Framework,Ef Code First,我有一个无法找到解决方案的问题:基本上,我想知道如何关闭EF CodeFirst多对多关联上的级联更新 我有两个班List和Recipient public class List { public string DisplayName { get; set; } public DateTime? LastSyncronized { get; set; } public virtual ICollection<Recipient> Recipients { ge
List
和Recipient
public class List
{
public string DisplayName { get; set; }
public DateTime? LastSyncronized { get; set; }
public virtual ICollection<Recipient> Recipients { get; set; }
}
public class Recipient
{
public int Id { get; set; }
public String Name { get; set; }
public virtual ICollection<List> Subscriptions { get; set; }
}
公共类列表
{
公共字符串DisplayName{get;set;}
公共日期时间?上次同步{get;set;}
公共虚拟ICollection收件人{get;set;}
}
公共类收件人
{
公共int Id{get;set;}
公共字符串名称{get;set;}
公共虚拟ICollection订阅{get;set;}
}
在某些处理过程中,我需要向列表的Recipients属性中添加一些从外部来源获取的收件人
然后我进行处理,最后我必须对列表进行相同的操作,以更新LastSyncronized属性。
不幸的是,当我保存时,EF的自动跟踪也会将我从外部来源获取的所有收件人保存到数据库中。
如何配置DbContext以不将新对象持久化到数据库
我尝试将它们全部从集合中删除,但即使它们已添加到数据库中。在这种情况下,联接表将保持不变,但收件人表将与新收件人一起添加
多谢各位
Simone不确定这是解决此问题的正确解决方案,但我在DbContext类中设置:
Configuration.AutoDetectChangesEnabled = false;
现在,添加的对象不会添加到数据库中