最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Entity Framework主從表的增刪改

 更新時(shí)間:2022年06月13日 15:22:18   作者:springsnow  
這篇文章介紹了Entity Framework主從表的增刪改,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

一、添加數(shù)據(jù)

1、在主表中添加從表數(shù)據(jù)

在景點(diǎn)的住宿集合(Lodgings)中增加一個(gè)度假區(qū)(Resort)

var dest = (from d in context.Destinations where d.Name == "Bali" select d).Single();

var resort = new CodeFirst.Model.Resort
{
    Name = "Pete's Luxury Resort",
};

dest.Lodgings.Add(resort);
context.SaveChanges();

2、添加主表的同時(shí)添加從表數(shù)據(jù)

添加一個(gè)帶兩個(gè)住宿的景點(diǎn)

var destination = new CodeFirst.Model.Destination
{
    Name = "AnHui HuangShan",
    Lodgings = new List
                    {
                        new CodeFirst.Model.Lodging {Name="HuangShan Hotel"},
                        new CodeFirst.Model.Lodging {Name="YingKeSong Hotel"}
                    }
};
context.Destinations.Add(destination);
context.SaveChanges();

3、添加從表的同時(shí)添加主表數(shù)據(jù)

添加一個(gè)帶有景點(diǎn)信息度假村到住宿信息中。

var resort = new CodeFirst.Model.Resort
{
    Name = "Top Notch Resort and Spa",
    Destination = new CodeFirst.Model.Destination
    {
        Name = "Stowe, Vermont",
        Country = "USA"
    }
};

using (var context = new CodeFirst.DataAccess.BreakAwayContext())
{
    context.Lodgings.Add(resort);
    context.SaveChanges();
}

二、修改關(guān)聯(lián)

1、修改從表的外鍵

var hotel = (from l in context.Lodgings where l.Name == "YingKeSong Hotel" select l).Single();
var reef = (from d in context.Destinations where d.Name == "Bali" select d).Single();

hotel.Destination = reef;
context.SaveChanges();

2、從表與主表脫離關(guān)系

1、ForeignKeys方式:

var davesDump = (from l in context.Lodgings where l.Name == "HuangShan Hotel" select l).Single();
davesDump.DestinationID = null;//(ForeignKeys方式)
context.SaveChanges();

2、Reference方式:

var davesDump = (from l in context.Lodgings where l.Name == "HuangShan Hotel" select l).Single();
context.Entry(davesDump).Reference(l => l.Destination).Load();  //找主表數(shù)據(jù)
davesDump.Destination = null;  //清空,(Reference方式)
context.SaveChanges();

三、刪除關(guān)聯(lián)數(shù)據(jù)

1、刪除主表的同時(shí)刪除相關(guān)聯(lián)的從表數(shù)據(jù)(級(jí)聯(lián)刪除)

如果數(shù)據(jù)庫(kù)里設(shè)置是級(jí)聯(lián)刪除,則不顯示加載從表數(shù)據(jù)。

var canyon = (from d in context.Destinations where d.Name == "AnHui HuangShan" select d).Single();

context.Entry(canyon).Collection(d => d.Lodgings).Load();  //從表顯示加載后,再刪除主表數(shù)據(jù)
context.Destinations.Remove(canyon);
context.SaveChanges();

2、普通刪除

刪除主表數(shù)據(jù),同時(shí)標(biāo)注從表數(shù)據(jù)為刪除狀態(tài)(數(shù)據(jù)庫(kù)關(guān)閉了級(jí)聯(lián)刪除的情況,可以手動(dòng)去數(shù)據(jù)庫(kù)的外鍵關(guān)系修改,也可以Fluent API配置關(guān)閉級(jí)聯(lián)刪除)

var canyon = (from d in context.Destinations where d.Name == "Grand Canyon" select d).Single();

foreach (var lodging in canyon.Lodgings.ToList())
{
    context.Lodgings.Remove(lodging);   //先標(biāo)記相關(guān)的從表數(shù)據(jù)為刪除狀態(tài)
}
context.Destinations.Remove(canyon);    //再標(biāo)記主表數(shù)據(jù)為刪除裝填
context.SaveChanges();   //執(zhí)行上面的所有標(biāo)記

到此這篇關(guān)于Entity Framework主從表增刪改的文章就介紹到這了。希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 在Winform和WPF中注冊(cè)全局快捷鍵實(shí)現(xiàn)思路及代碼

    在Winform和WPF中注冊(cè)全局快捷鍵實(shí)現(xiàn)思路及代碼

    如果注冊(cè)快捷鍵,RegisterHotKey中的fsModifiers參數(shù)為0,即None選項(xiàng),一些安全軟件會(huì)警報(bào),可能因?yàn)檫@樣就可以全局監(jiān)聽鍵盤而造成安全問題,感興趣的你可以參考下本文
    2013-02-02
  • C#中設(shè)計(jì)、使用Fluent API

    C#中設(shè)計(jì)、使用Fluent API

    這篇文章主要介紹了C#中設(shè)計(jì)、使用Fluent API,本文講解了最簡(jiǎn)單且最實(shí)用的設(shè)計(jì)、設(shè)計(jì)具有調(diào)用順序的Fluent API、泛型類的Fluent設(shè)計(jì)等內(nèi)容,需要的朋友可以參考下
    2015-03-03
  • C#設(shè)計(jì)模式之Observer觀察者模式解決牛頓童鞋成績(jī)問題示例

    C#設(shè)計(jì)模式之Observer觀察者模式解決牛頓童鞋成績(jī)問題示例

    這篇文章主要介紹了C#設(shè)計(jì)模式之Observer觀察者模式解決牛頓童鞋成績(jī)問題,簡(jiǎn)單講述了觀察者模式的原理并結(jié)合具體實(shí)例形式分析了使用觀察者模式解決牛頓童鞋成績(jī)問題的具體步驟相關(guān)操作技巧,并附帶demo源碼供讀者下載參考,需要的朋友可以參考下
    2017-09-09
  • C#中靜態(tài)的深入理解

    C#中靜態(tài)的深入理解

    這篇文章詳細(xì)的介紹了C#中的靜態(tài),有需要的朋友可以參考一下
    2013-09-09
  • C#自定義處理xml數(shù)據(jù)類實(shí)例

    C#自定義處理xml數(shù)據(jù)類實(shí)例

    這篇文章主要介紹了C#自定義處理xml數(shù)據(jù)類,涉及C#針對(duì)XML的打開、讀寫等常用操作,并將其封裝進(jìn)一個(gè)類中以便于調(diào)用,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2015-03-03
  • C#語(yǔ)言中字符類char的使用方法(總結(jié))

    C#語(yǔ)言中字符類char的使用方法(總結(jié))

    下面小編就為大家?guī)硪黄狢#語(yǔ)言中字符類char的使用方法(總結(jié))。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-03-03
  • c#接口使用示例分享

    c#接口使用示例分享

    接口與抽象類一樣,也是表示某種規(guī)則,一旦使用了該規(guī)則,就必須實(shí)現(xiàn)相關(guān)的方法。對(duì)于C#語(yǔ)言而言,由于只能繼承自一個(gè)父類,因此若有多個(gè)規(guī)則需要實(shí)現(xiàn),則使用接口是個(gè)比較好的做法
    2014-02-02
  • C#中加載dll并調(diào)用其函數(shù)的實(shí)現(xiàn)方法

    C#中加載dll并調(diào)用其函數(shù)的實(shí)現(xiàn)方法

    下面小編就為大家?guī)硪黄狢#中加載dll并調(diào)用其函數(shù)的實(shí)現(xiàn)方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-02-02
  • C#調(diào)用windows api關(guān)機(jī)(關(guān)機(jī)api)示例代碼分享

    C#調(diào)用windows api關(guān)機(jī)(關(guān)機(jī)api)示例代碼分享

    本文主要介紹了C#調(diào)用windows api關(guān)機(jī)的示例代碼,大家參考使用吧
    2014-01-01
  • C# WinForm制作一個(gè)批量轉(zhuǎn)化文件格式的小工具

    C# WinForm制作一個(gè)批量轉(zhuǎn)化文件格式的小工具

    在生活中有時(shí)候會(huì)遇到批量轉(zhuǎn)換格式的需求,一個(gè)個(gè)點(diǎn)太麻煩了,一個(gè)能夠?qū)崿F(xiàn)批量文件格式轉(zhuǎn)換的工具非常有用,所以本文小編使用C# WinForm制作一個(gè)批量轉(zhuǎn)化文件格式的小工具,文中有具體實(shí)現(xiàn)代碼,需要的朋友可以參考下
    2023-11-11

最新評(píng)論

永定县| 香港| 汉阴县| 馆陶县| 崇州市| 东乌| 来安县| 平顺县| 淅川县| 金华市| 长沙市| 公主岭市| 闻喜县| 新乐市| 安化县| 吉安市| 临猗县| 平舆县| 卢龙县| 桂林市| 潼关县| 澄迈县| 金阳县| 老河口市| 怀柔区| 武义县| 沐川县| 涿州市| 嘉善县| 永修县| 永州市| 来凤县| 梅州市| 化州市| 宣汉县| 原阳县| 远安县| 佛冈县| 双城市| 东港市| 嘉义市|