簡體   English   中英

實體框架和SQL Server 2008 Express

[英]Entity Framework & SQL Server 2008 Express

我是Entity Framework的新手,並且已經讀了一些書,作為測試,我僅用兩個小實體組成了一個非常簡短的測試框架。 然后,我右鍵單擊並選擇“從模型生成數據庫”,該頁面將我帶到“ SQL連接”頁面。 但是,我以前使用的任何連接都不會出現在下拉列表中,並且當我選擇“創建新連接”時,我只有使用“ SQL Server Compact 3.5”或“ SQL Server數據庫文件”的選項。

我之前使用SQL Express遇到過這種情況,解決方法是創建自己的連接字符串以訪問所需的數據庫。 但是,使用我使用Entity Framework創建數據庫時,不可能編寫適當的連接字符串。

因此,我似乎處於Catch 22的情況。

  1. 在創建數據庫之前,我無法編寫連接字符串。
  2. 如果不訪問SQL Server(通過連接字符串),就無法從EF創建數據庫。

任何人都會遇到這個問題,或者可以指出我做錯了什么。 就像我說的那樣,我對EF完全陌生,因此,如果這是一個非常基本的問題,我深表歉意。

除非要在用戶實例中使用數據庫文件,否則需要使用SQL Management Studio Express或使用SQLCMD命令行工具來創建數據庫。 我建議使用SQL Management Studio Express,因為我認為它很容易學習。

實體框架工具旨在用於創建數據庫架構 ,而不是數據庫本身。 您仍然需要定義文件組,安全性信息以及創建和配置空白數據庫的其他基礎知識。

有關適當的鏈接,請參見此問題解答:

如何使用SQL命令在SQL Express中創建數據庫?

感謝@psuedocoder,您的幫助幫助我解決了問題。 最后的答案很簡單,但對我來說卻不直觀,因此很困難。 我認為對答案的詳細闡述可能會對像我一樣對Entity Framework同樣陌生的其他人有所幫助。

從Visual Studio

  1. 在Visual Studio中創建您的EF模型。
  2. 右鍵單擊模型畫布,然后選擇“從模型生成數據庫”。
  3. 然后要求您選擇數據庫連接。 選擇“新連接”。
  4. 在“添加連接”對話框中,而不是在現有數據庫的“瀏覽”中,只需在“數據庫”文本框中鍵入新數據庫的名稱,然后單擊“連接”。
  5. 當您嘗試連接時,您會收到一條警告,指出該數據庫不存在,但系統會詢問您是否要VS“創建它”。 選擇是。

正如@psuedocoder指出的那樣,這實際上並沒有在SQL Server中創建數據庫,但確實在VS解決方案中創建了一個對象,該對象包含創建數據庫所需的TSQL腳本。

從SSMS

  1. 轉到SQL Server Management Studio並創建一個空白數據庫,其名稱與上述步驟4中使用的名稱相同。
  2. 在SSMS中,選擇打開文件,然后導航到包含VS解決方案文件的Windows文件夾。
  3. 打開TSQL腳本文件。 這將具有一個DB腳本圖標,並具有一個.edmx擴展名。
  4. 單擊執行,您將根據EF模型創建新數據庫。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM