黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

EF+Code First+Database First+Model First,EF

系統 2217 0

EF開發流程:本人加班寫的EF流程忘記保存了,以下博客也囊括了幾部重要的操作,值得參考

http://www.cnblogs.com/LittleFeiHu/archive/2012/02/20/2359324.html

?

EF4.1包括Code?First和DbContext?API。DbContext?API為EF提供更多的工作方式:Code?First,Database?First和Model?First。

使用DbContext構造函數

1 .?Code?First約定連接

namespace?Magic.Unicorn
{
????public?class?UnicornsContext?:?DbContext
????{
????????public?UnicornsContext()
????????//?C#?will?call?base?class?parameterless?constructor?by?default
????????{
????????}
????}
}

用Magic.Unicorn.UnicornsContext作為數據庫名,在本機上生成該數據庫的連接字符串(SQL?Express)。

?

2.?Code?First指定數據庫名稱的約定連接

public?class?UnicornsContext?:?DbContext
{
????public?UnicornsContext()
????????:?base("UnicornsDatabase")
????{
????}
}

用UnicornsDatabase作為數據庫名,在本機上生成該數據庫的連接字符串(SQL?Express)。

?

3.?Code?First用配置文件中的連接字符串,連接的數據庫還有精簡型的

<connectionStrings>
????<add?name="UnicornsCEDatabase"
?????????providerName="System.Data.SqlServerCe.4.0"
?????????connectionString="Data?Source=Unicorns.sdf"/>
??</connectionStrings>

public?class?UnicornsContext?:?DbContext
{
????public?UnicornsContext()
????????:?base("name=UnicornsCEDatabase")
????{
????}
}

?

4.?Database/Model?First用配置文件中的連接字符

<add?name="Northwind_Entities"?
???connectionString="
??????metadata=res://*/Northwind.csdl|?
???????????????res://*/Northwind.ssdl|?
???????????????res://*/Northwind.msl;?
??????provider=System.Data.SqlClient;?
??????provider?connection?string=?
?????????&quot;Data?Source=.\sqlexpress;?
???????????????Initial?Catalog=Northwind;?
???????????????Integrated?Security=True;?
???????????????MultipleActiveResultSets=True&quot;"?
providerName="System.Data.EntityClient"/>?

public?class?NorthwindContext?:?DbContext
{
????public?NorthwindContext()
????????:?base("name=Northwind_Entities")
????{
????}
}

5.?Defining?sets?on?a?derived?context

1)?DbSet屬性:指定集合為Entity類型

2)?IDbSet屬性

3)?只讀set屬性

public?IDbSet<Unicorn>?Unicorns{get{return?Set<Unicorn>();}

6.?利用主鍵查找實體
???DbSet的Find方法,如果用主鍵在上下文中查找不到實體,就會到數據庫中查詢。
???1)通過主鍵查找實體
??????var?unicorn=context.Unicorns.Find(3);//查詢數據庫
??????var?unicornAgain=context.Unicorns.Find(3);//從當前上下文中返回相同的實例(沒有查詢數據庫)
???2)?通過主鍵和外鍵查找實體
??????var?lady?=?context.LadiesInWaiting.Find(3,?"The?EF?Castle");


7.?實體狀態和保存
???EntityState:Added、Unchanged、Modified、Deleted和Detached
???1)?插入一個新的實體到上下文
??????當調用SaveChanges()才能插入到數據庫中。
????var?unicorn?=?new?Unicorn?{?Name?=?"Franky",?PrincessId?=?1};
????context.Unicorns.Add(unicorn);//添加到上下文中
????context.SaveChanges();//插入到數據庫中

?????另一種插入方法:
?????var?unicorn?=?new?Unicorn?{?Name?=?"Franky",?PrincessId?=?1};
?????context.Entry(unicorn).State?=?EntityState.Added;
?????context.SaveChanges();

?????在當前實體的關聯實體中添加新的對象:
?????//?Add?a?new?princess?by?setting?a?reference?from?a?tracked?unicorn
??????var?unicorn?=?context.Unicorns.Find(1);
??????unicorn.Princess?=?new?Princess?{?Name?=?"Belle"?};

??????//?Add?a?new?unicorn?by?adding?to?the?collection?of?a?tracked?princess
??????var?princess?=?context.Princesses.Find(2);
??????princess.Unicorns.Add(new?Unicorn?{?Name?=?"Franky"?});

??????context.SaveChanges();

8.??DbContext中的T-SQL查詢
?????1)?SQL語句查詢實體
??????var?unicorns?=?context.Unicorns.SqlQuery(
???????????????????"select?*?from?Unicorns").ToList();
?????2)?SQL語句查詢非實體類型
??????var?unicornNames?=?context.Database.SqlQuery<string>(
???????????????????????"select?Name?from?Unicorns").ToList();
?????3)?執行SQL命令
???????context.Database.ExecuteSqlCommand(
????????"update?Unicorns?set?Name?=?'Franky'?where?Name?=?'Beepy'");?

EF+Code First+Database First+Model First,EF開發流程


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論