Closed flier268 closed 1 week ago
但我現在沒有中間表,而且他是一對多的關係,還是我應該把他搞得跟多對多一樣? 剛接觸這個庫,中間表可以是虛擬的嗎?只有實體沒有資料庫這樣
中间表需要有张表,按文档这种多对多用
只能這樣刪除嗎?
await sugarClient.Deleteable<BTable>()
.Where(p =>
SqlFunc.Subqueryable<ATable>().Where(s => s.A == p.A && s.B == p.B)
.Where(s => s.A == "Hello")
.Any())
.ExecuteCommandAsync(cancellationToken);
文件沒寫清楚,這樣是會將ATable、BTable符合條件的都刪除嗎?包括ATable的s.A == "Hello",還是只會刪除BTable的
你子查询删除也可以,我不是很清楚你的逻辑
我要刪除A表格的部分內容,然後一同刪除B表格的部分內容,接著刪除C表的部分內容,A跟B有共同的鍵,B跟C有共同的鍵 A表找到B表,B表找到C表,刪除的條件都在A
这个不清楚了,你反正如果用导航方式删是可以的 ,如果不是导航规则那就需要手动处理 你这种一般是多对多 A表和B表 还有一个中间表 AB表
一般來說是這樣沒錯,但這個鳥資料庫也不是我設計的,各種麻煩的奇妙設計
這個結果會如何呢?
文件沒寫清楚,這樣是會將ATable、BTable符合條件的都刪除嗎?包括ATable的s.A == "Hello",還是只會刪除BTable的
不用导航就是一张表,一张表的删
无非把导航思想转成单表思想
所以這樣只會刪BTable,還需要執行一次同篩選條件刪除ATable的
//m是主表字段 c是子表字段 是一个json数组 格式不要错了
[Navigate(NavigateType.Dynamic, "[{m:\"Id\",c:\"AddressId\"},{m:\"Id2\",c:\"AddressId2\"}]")]
public List<UnitPerson011> Persons { get; set; }
你这种只支持查询 2双字段的。删除 不支持
先关闭还有疑问发新的ISSUE
我現在有兩個table,他們是一對多 第一個表(一)主鍵為A、B 第二個表(多)為A、B、C 我看了原始碼,看起來好像不支援?