自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

博客園現(xiàn)代化建設(shè)——Entity Framework

數(shù)據(jù)庫
在博客園新版博客后臺的開發(fā)中,為了將園子的現(xiàn)代化建設(shè)步伐邁得更大一些,準(zhǔn)備裝備最先進(jìn)的武器。之前已經(jīng)配備ASP.NET MVC 3,目前正在試驗(yàn)剛從微軟引進(jìn)的最新型號新式武器——Entity Framework 4.1 RC。

在博客園新版博客后臺的開發(fā)中,為了將園子的現(xiàn)代化建設(shè)步伐邁得更大一些,準(zhǔn)備裝備最先進(jìn)的武器。之前已經(jīng)配備ASP.NET MVC 3,目前正在試驗(yàn)剛從微軟引進(jìn)的最新型號新式武器——Entity Framework 4.1 RC。

試驗(yàn)情況分析:

1. 數(shù)據(jù)庫連接字符串的回歸

在之前版本的Entity Framework中,微軟另搞了一套連接字符串,以至無法直接使用原來的ADO.NET連接字符串。害得我們只能改裝它,以重用以前的連接字符串,詳見在Entity Framework中重用現(xiàn)有的數(shù)據(jù)庫連接字符串。

在這個版本中,微軟終于知錯就改,直接使用ADO.NET連接字符串,代碼如下:

  1. public class BlogDbContext : DbContext  
  2. {  
  3.     public BlogDbContext()  
  4.         : base(ConfigurationManager.ConnectionStrings["BlogDB"].ConnectionString)  
  5.     {}  

這樣多好,雖然是新式武器,原來的炮彈照樣用。

2. 失靈的Entity Data Model

這個不知是VS 2010 SP1還是Entity Framework 4.1 RC的Bug,無法在VS2010中通過Entity Data Model向?qū)?chuàng)建Entity Data Model。見下圖:

 

點(diǎn)擊下一步,選擇連接字符串的窗口一閃而過...然后什么也沒發(fā)生,.edm文件也沒創(chuàng)建。

難道VS2010在玩捉迷藏的游戲?那就捉唄...終于把它給找出來了,方法是:在VS2010的Server Explorer中刪除所有的數(shù)據(jù)庫連接。

 

但是,在創(chuàng)建連接字符串之后,“奇跡”出現(xiàn)了:

 

畢竟就不是正式版,出點(diǎn)Bug也情有可原,而且本來也沒指望Entity Data Model,只是想從數(shù)據(jù)庫生成實(shí)體類,省點(diǎn)力氣。既然它失靈了,那就手寫實(shí)體類代碼唄。

3. 實(shí)體類與數(shù)據(jù)庫表的自動映射

1) 自動在實(shí)體類中發(fā)現(xiàn)“主鍵”屬性,前提是屬性名稱是ID或者實(shí)體類名+ID,比如下面的實(shí)體類:

  1. public class Blog  
  2. {  
  3.     public int BlogID { get; set; }  
  4.     public string Application { get; set; }  
  5.     public string Author { get; set; }  
  6.     public string UserName { get; set; }  

Entity Framework會自動發(fā)現(xiàn)BlogID就是主鍵,當(dāng)然,你也可以通過[Key]指定主鍵。

2) 如果實(shí)體類的屬性名與數(shù)據(jù)庫表的字段名相同,不需要任何配置,Entity Framework會自動進(jìn)行映射。

3) 如果實(shí)體類的類名與數(shù)據(jù)庫表的表名相同,不需要任何配置,Entity Framework會自動進(jìn)行映射。否則,要通過下面的代碼進(jìn)行手工映射:

  1. public class BlogDbContext : DbContext  
  2. {  
  3.     protected override void OnModelCreating(DbModelBuilder modelBuilder)  
  4.     {  
  5.         modelBuilder.Entity<Blog>().ToTable("blog_Config");  
  6.     }  

注:Blog是實(shí)體類名,blog_Config是數(shù)據(jù)庫表名。

如果符合自動映射的條件,使用Entity Framework很方便,只要在數(shù)據(jù)訪問層添加Entity Framework的引用,并添加一個繼承自DbContext的類,然后就可以隨時隨地使用。

試驗(yàn)結(jié)論:

該武器雖然有部件失靈,但總體來說攜帶方便,部署靈活,自動化程度高,是現(xiàn)代化建設(shè)的必備!

原文鏈接:http://www.cnblogs.com/dudu/archive/2011/03/22/entity_framework_4_1_rc.html

 

責(zé)任編輯:艾婧 來源: 博客園
相關(guān)推薦

2011-03-30 13:27:24

2018-02-01 16:34:54

2019-09-23 17:34:05

存儲

2015-10-29 14:35:21

移動設(shè)備現(xiàn)代化

2022-07-11 05:34:19

云原生應(yīng)用程序

2023-05-03 21:47:22

2024-01-23 15:21:14

2021-09-08 14:43:17

網(wǎng)絡(luò)數(shù)字化轉(zhuǎn)型Equinix

2023-12-07 08:00:00

數(shù)字化轉(zhuǎn)型數(shù)字化

2020-06-05 14:16:05

醫(yī)藥

2022-04-14 09:48:28

NVIDIA

2021-04-13 16:13:38

大數(shù)據(jù)教育科學(xué)

2013-03-19 18:04:06

51CTO

2015-09-15 11:06:33

第一屆稅務(wù)行業(yè)信息化研華為

2023-02-08 11:07:56

數(shù)字時代數(shù)字運(yùn)營模式

2025-02-13 00:42:58

2023-06-25 09:04:12

數(shù)字企業(yè)架構(gòu)EA
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號