使用對象狀態(tài)工作
創(chuàng)建數(shù)據(jù)庫后,可以進(jìn)行寫入。在第一個(gè)示例中,已添加了單個(gè)表,那么如何添加關(guān)系?
添加對象關(guān)系
以下代碼片段寫入一個(gè)關(guān)系,MenuCard包含Menu對象。MenuCard和Menu對象被實(shí)例化,然后分配雙向的關(guān)聯(lián)關(guān)系。使用Menu將 MenuCard 屬性分配給 MenuCard,而使用 MenuCard 將 Menu 屬性將填充Menu對象。 MenuCard實(shí)例被添加到調(diào)用MenuCards屬性的Add方法的上下文中。默認(rèn)情況下,向上下文添加對象時(shí)所有對象都添加樹并保存為Added 狀態(tài)。不僅保存MenuCard,還保存 Menu 對象。 設(shè)置IncludeDependents 后,所有關(guān)聯(lián)的Menu對象也將添加到上下文中。在上下文中調(diào)用SaveChanged現(xiàn)在創(chuàng)建四條記錄(代碼文件MenusSample / Program.cs):
private static async Task AddRecordsAsync() { // etc. using (var context = new MenusContext()) { var soupCard = new MenuCard(); Menu[] soups = { new Menu { Text ="Consommé