Generics 更新具有一对多关系的实体
我正在使用通用CRUD方法创建一个通用存储库,以便与所有其他存储库共享。我有所有的工作方法,除了更新的一个Generics 更新具有一对多关系的实体,generics,entity-framework-core,Generics,Entity Framework Core,我正在使用通用CRUD方法创建一个通用存储库,以便与所有其他存储库共享。我有所有的工作方法,除了更新的一个 public virtual async Task Update(T entity) { _context.Attach(entity).State = EntityState.Modified; } 我正在对这个模型进行测试(实体只持有一个在所有实体之间共享的Id属性): 用于necedor的公共类:实体 { [必需] 公共字符串Nome{get
public virtual async Task Update(T entity)
{
_context.Attach(entity).State = EntityState.Modified;
}
我正在对这个模型进行测试(实体
只持有一个在所有实体之间共享的Id
属性):
用于necedor的公共类:实体
{
[必需]
公共字符串Nome{get;set;}
公共字符串描述符{get;set;}
[必需]
公共虚拟IList子项{get;set;}
}
公共类子对象:实体
{
公共字符串SomeValue{get;set;}
公共虚拟Fornecedor Fornecedor{get;set;}
}
当我从API请求中获取模型时,这就是后端应该如何保存它的新实体。也就是说,我只需要用更新函数的实体
参数中接收的新子项替换旧子项
未在上下文中更新子属性。saveChangesSync()
,其他每个属性都会更改其应该如何更新。我能做些什么来解决这个问题,但仍然保持它的通用方面?我的意思是,它应该支持我在实体上需要的任意多个“一对多关系”,而无需手动将它们添加到某种if语句中
任何指导都将不胜感激
public class Fornecedor : Entity
{
[Required]
public string Nome { get; set; }
public string Descricao { get; set; }
[Required]
public virtual IList<Child> Children { get; set; }
}
public class Child : Entity
{
public string SomeValue {get; set; }
public virtual Fornecedor Fornecedor { get; set; }
}