領域物件:game(遊戲), room(遊戲群),兩者一對多的關係,sql語句中會用到join
publicclass
game : aggregateroot
public
string title
public
string description
public ienumerablerooms
public
game()
public
void setrooms(ienumerablerooms)
}public
class
room : entity
public intstring name
public
int limit
public
string owner
}
所以我們擴充套件兩個query/queryasync方法:
//////查詢帶聚合導航屬性的物件集合
//////
主體物件型別
///聚合導航物件型別
///設定聚合導航屬性的方法
public
static ienumerablequery(this idbconnection cnn, string sql, actionsetting, object param = null, string spliton = "id"
)
where tfirst : class, ientity
where tsecond : class, ientity, param: param, spliton: spliton);
return
hashes;
}///
///非同步查詢帶聚合導航屬性的物件集合
//////
主體物件型別
///聚合導航物件型別
///設定聚合導航屬性的方法
public
static
async task> queryasync(this idbconnection cnn, string sql, actionsetting, object param = null, string spliton = "id"
)
where tfirst : class, ientity
where tsecond : class, ientity, param: param, spliton: spliton);
return
hashes;
}
呼叫示例:
returnawait _db.queryasync("
select * from game g left join room r on r.gameid = g.id
", (game, room) =>);
}, spliton: "id
");
Slapper幫助Dapper實現一對多
1對1public class employees4list public string name public string mobile public department4employees department public class role4employees public strin...
MySQL關係 一對多 一對一 多對多
將實體與實體的關係,反應到最終資料庫表的設計上,將關係分為三種 一對一,一對多 多對一 和多對多,所有的關係都是表與表之間的關係 一對一 一對一 一張表的一條記錄只能與另外一條記錄進行對應,反之亦然 id p 姓名 性別 年齡 身高 婚姻狀況 籍貫 家庭位址 緊急聯絡人 體重 表設計成以上這種形式 ...
ibatis 物件關係實現,一對多,多對一
hibernate 的強大在於完全的物件化,對於物件之間的關係解決的比較好,如1對1,1對多,多對1,以及多對多。當然也包括繼承關係。而ibatis這方面就比較遜色了,不過對於也支援簡單的關連查詢,如1對1,和1對多。對於一般的情況來說,這兩種已經足夠了,當然不能層疊更新是乙個缺陷,看了半天文件,也...