2013年5月22日 星期三

Entity Framework Code First DB命名

使用Entity Framework 5  Code First 技術建立DB時,預設會根據DbContext類別名稱來命名資料庫預設會使用完全識別名稱來命名資料庫 : "Namespace.Class”,根據網站組態檔的定義,建立在SQL Server Express or LocalDB上,

例如以下組態設定,會建立在SQL Express

<entityFramework>
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
  </entityFramework>

以下組態設定,會建立在LocalDB

<entityFramework>
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
      <parameters>
        <parameter value="v11.0" />
      </parameters>
    </defaultConnectionFactory>
  </entityFramework>

例如有一個MyDBContext類別定義如下:

public class MyDBContext : DbContext { 
    public DbSet<Employee> Employees { get; set; }
  }

以下範例只有定義MyDBContext類別,資料庫名稱為 : Ch11_CodeFirst.Models.MyDBContext,DB建立在SQL Server Express上:

image

若要改用(LocalDB)或其它料庫伺服器,除了設定defaultConnectionFactory的做法之外,可以在config檔案設定連接字串,connectinString的name要和DbContext類別名稱相同,資料庫檔案預設會放在App_Data目錄(網站專案):

image

若connectinString的name要和DbContext類別名稱不同,則DbContext可以撰寫Constructor,呼叫父類別constructor,並傳入連接字串的name:

image

也可以這樣寫:

image

2013年5月20日 星期一

使用NuGet小技巧

最近使用NuGet下載套件時,發現有些套件已經改版了,如Entity Framework 有一個5.0.0穩定版,與一個6.0.0-alpha3版,然後找不到舊的5.0.0穩定版。

image

你可以設定"僅限穩定"項目,這樣就可以找到5.0.0穩定版

image

你也可以直接下指定,開啟"套件管理主控台"

image

直接下指令,預設會裝穩定版

install-Package EntityFramework

以目前為例,安裝的是5.0.0

image

移除套件可以用:

uninstall-Package EntityFramework

image

若安裝時加了-Pre參數,會安裝最新版本,含"發行前版本" :

install-Package EntityFramework -Pre

以目前為例,裝的是6.0.0-alpha版

image

若已安裝了 Entity Framework 5.0.0,想要更新最新版本,在"管理NuGet套件"視窗,選左方"更新",將5.0.0 upgrade到最新版:

image

或者在console下指令

update-package EntityFramework –Pre

image

2013年5月16日 星期四

將資料放到SQL Azure

本文為給<jQuery Mobile與ASP.NET實戰開發>一書讀者的參考資料。

將第十一章,範例網站的資料庫,移轉至SQL Azure資料庫,專案名稱為Ch11_CodeFirst.sln。若非本書讀者,可以自己找一個使用Entity Framework Code First 技術的程式來測試。

您需要先有一個Windows Azure帳號,免費試用三個月請到此網站伸請:http://www.windowsazure.com/

image

  • 自定義創建

image

  • 設定資料庫伺服器名稱

image

  • 設定登入SQL Server帳號與密碼

image

  • 建立完成之後,點選新建的MyDB

image

  • 管理IP

image

  • 設定可以存取DB的IP,以下把目前電腦的IP加到允許清單,記的按"保存"

image

  • 顯示connection string

image

  • copy ADO.NET區塊的連線字串

image

  • 修改你的應用程式之連接字串
<connectionStrings>   
    <add name="MyDBContext" connectionString="貼上上一步驟copy來的字串,並設定密碼;"
      providerName="System.Data.SqlClient" />
  </connectionStrings>
  • 修改MyDbInitializer 類別繼承DropCreateDatabaseAlways。此類別為Entity Framework用來初始化DB資料的類別
public class MyDbInitializer : DropCreateDatabaseAlways<MyDBContext> {
  • 按CTRL+F5執行你的程式

image

image

  • 新增查詢

image

  • 查詢Employees資料表內容

image

2013年4月17日 星期三

Q&A:Publish ASP.NET Web API to IIS8

Q&A:web api 可用visual studio 2012發佈到IIS上嗎 ?
A:

以<jQuery Mobile與ASP.NET實戰開發>一書ch12章MyWebAPI範例試著發行Web API到本機IIS8
1.
image
2.Publish
image
3.New 一個profile
image
4.設定名稱
image
5.設定發行資訊
image
6.適當修改叫用到WebAPI時的位置,如index.cshtml:
image
7.publish now
image
8.publish完成會啟動瀏覽器,程式可正確執行:
image

2013年4月2日 星期二

微軟MCSD認證資訊


拖拖拉拉到今天才去考試,考完腦袋一片空白,還好有考過。

考試科目70-480 (Programming in HTML5 with JavaScript and CSS3)
    問題數:39
    及格分數:700分
    考試時間:120分

考試科目70-483 (Programming in C#)
    問題數:40
    及格分數:700分
    考試時間:115分


認證參考資源 http://borntolearn.mslearn.net/mcsd/#fbid=ymEduXf8kHs

總網頁瀏覽量