dotnetcore / FreeSql

🦄 .NET aot orm, C# orm, VB.NET orm, Mysql orm, Postgresql orm, SqlServer orm, Oracle orm, Sqlite orm, Firebird orm, 达梦 orm, 人大金仓 orm, 神通 orm, 翰高 orm, 南大通用 orm, 虚谷 orm, 国产 orm, Clickhouse orm, QuestDB orm, MsAccess orm.
http://freesql.net
MIT License
3.99k stars 842 forks source link

低代码扩展 ZeroDbContext 操作非聚合根实体 #1756

Open jerry-nom opened 2 months ago

jerry-nom commented 2 months ago

Feature 特性

低代码扩展 ZeroDbContext 现在是以聚合根为操作起点的,如果需要单独操作子实体和外部聚合根时怎么操作呢?例如例子里的用户角色关系,我现在要插入一个角色,该怎么操作呢?

2881099 commented 2 months ago
public ZeroDbContext(IFreeSql orm, TableDescriptor[] schemas)
{
   ...
}

这是 ctor 定义

单独操作子实体,可以直接在上层聚合根对象进行操作。

外部聚合根,需要独立再创建一个 ZeroDbContext 对象,schemas 是它对应的结构关系描述。

jerry-nom commented 2 months ago

感谢大佬回复,这样感觉有点繁琐,如果可以提供如下使用方式就方便了: 针对所有表建一个 ZeroDbContext,保存了所有表的结构关系,然后使用的地方根据指定操作起点对象及关联的对象来应用级联操作。看了下源码,想改,但是没有思路。

2881099 commented 2 months ago

TableDescripter[] 管理好这个就行