mirror of
https://github.com/nsnail/FreeSql.git
synced 2025-06-19 04:18:16 +08:00
- 增加 Repository/DbContext SaveMany 方法实现一对多,子数据的完整保存;
- 调整 SaveManyToMany 方法名为 SaveMany;
This commit is contained in:
@ -32,9 +32,13 @@
|
||||
<typeparam name="TEntity"></typeparam>
|
||||
<param name="data"></param>
|
||||
</member>
|
||||
<member name="M:FreeSql.DbContext.SaveManyToMany``1(``0,System.String)">
|
||||
<member name="M:FreeSql.DbContext.SaveMany``1(``0,System.String)">
|
||||
<summary>
|
||||
保存实体的指定 ManyToMany 导航属性
|
||||
保存实体的指定 ManyToMany/OneToMany 导航属性(完整对比)<para></para>
|
||||
场景:在关闭级联保存功能之后,手工使用本方法<para></para>
|
||||
例子:保存商品的 OneToMany 集合属性,SaveMany(goods, "Skus")<para></para>
|
||||
当 goods.Skus 为空(非null)时,会删除表中已存在的所有数据<para></para>
|
||||
当 goods.Skus 不为空(非null)时,添加/更新后,删除表中不存在 Skus 集合属性的所有记录
|
||||
</summary>
|
||||
<param name="data">实体对象</param>
|
||||
<param name="propertyName">属性名</param>
|
||||
@ -65,9 +69,9 @@
|
||||
</member>
|
||||
<member name="P:FreeSql.DbContextOptions.EnableAddOrUpdateNavigateList">
|
||||
<summary>
|
||||
是否开启一对多,多对多联级保存功能<para></para>
|
||||
是否开启一对多,多对多级联保存功能<para></para>
|
||||
<para></para>
|
||||
【一对多】模型下, 保存时可联级保存实体的属性集合。出于使用安全考虑我们没做完整对比,只实现实体属性集合的添加或更新操作,所以不会删除实体属性集合的数据。<para></para>
|
||||
【一对多】模型下, 保存时可级联保存实体的属性集合。出于使用安全考虑我们没做完整对比,只实现实体属性集合的添加或更新操作,所以不会删除实体属性集合的数据。<para></para>
|
||||
完整对比的功能使用起来太危险,试想下面的场景:<para></para>
|
||||
- 保存的时候,实体的属性集合是空的,如何操作?记录全部删除?<para></para>
|
||||
- 保存的时候,由于数据库中记录非常之多,那么只想保存子表的部分数据,或者只需要添加,如何操作?<para></para>
|
||||
@ -106,34 +110,23 @@
|
||||
清空状态数据
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:FreeSql.DbSet`1.RemoveAsync(System.Linq.Expressions.Expression{System.Func{`0,System.Boolean}})">
|
||||
<summary>
|
||||
根据 lambda 条件删除数据
|
||||
</summary>
|
||||
<param name="predicate"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:FreeSql.DbSet`1.Add(`0)">
|
||||
<summary>
|
||||
添加
|
||||
</summary>
|
||||
<param name="data"></param>
|
||||
</member>
|
||||
<member name="M:FreeSql.DbSet`1.SaveManyToMany(`0,System.String)">
|
||||
<member name="M:FreeSql.DbSet`1.SaveMany(`0,System.String)">
|
||||
<summary>
|
||||
保存实体的指定 ManyToMany 导航属性
|
||||
保存实体的指定 ManyToMany/OneToMany 导航属性(完整对比)<para></para>
|
||||
场景:在关闭级联保存功能之后,手工使用本方法<para></para>
|
||||
例子:保存商品的 OneToMany 集合属性,SaveMany(goods, "Skus")<para></para>
|
||||
当 goods.Skus 为空(非null)时,会删除表中已存在的所有数据<para></para>
|
||||
当 goods.Skus 不为空(非null)时,添加/更新后,删除表中不存在 Skus 集合属性的所有记录
|
||||
</summary>
|
||||
<param name="item">实体对象</param>
|
||||
<param name="propertyName">属性名</param>
|
||||
</member>
|
||||
<member name="M:FreeSql.DbSet`1.AddOrUpdateNavigateList(`0,System.Boolean,System.String)">
|
||||
<summary>
|
||||
联级保存导航集合
|
||||
</summary>
|
||||
<param name="item">实体对象</param>
|
||||
<param name="isAdd">是否为新增的实体对象</param>
|
||||
<param name="propertyName">指定保存的属性</param>
|
||||
</member>
|
||||
<member name="M:FreeSql.DbSet`1.Update(`0)">
|
||||
<summary>
|
||||
更新
|
||||
@ -240,9 +233,13 @@
|
||||
</summary>
|
||||
<param name="data"></param>
|
||||
</member>
|
||||
<member name="M:FreeSql.IBasicRepository`1.SaveManyToMany(`0,System.String)">
|
||||
<member name="M:FreeSql.IBasicRepository`1.SaveMany(`0,System.String)">
|
||||
<summary>
|
||||
保存实体的指定 ManyToMany 导航属性
|
||||
保存实体的指定 ManyToMany/OneToMany 导航属性(完整对比)<para></para>
|
||||
场景:在关闭级联保存功能之后,手工使用本方法<para></para>
|
||||
例子:保存商品的 OneToMany 集合属性,SaveMany(goods, "Skus")<para></para>
|
||||
当 goods.Skus 为空(非null)时,会删除表中已存在的所有数据<para></para>
|
||||
当 goods.Skus 不为空(非null)时,添加/更新后,删除表中不存在 Skus 集合属性的所有记录
|
||||
</summary>
|
||||
<param name="entity">实体对象</param>
|
||||
<param name="propertyName">属性名</param>
|
||||
|
Reference in New Issue
Block a user