2017-06-15 76 views
0
  • 試圖先使用Microsoft SQL Server Managment Server創建數據庫。我無法使用當前的憑據來創建導致錯誤的新數據庫。這是通過使用我的管理員憑據解決的。
  • 將該應用程序作爲空白項目啓動,但使用的是網頁表單。
  • 應用程序啓動時沒有任何東西會建議實體創建數據庫。
  • 已驗證SQL Express正在運行。實體框架未創建數據庫或表

    • 在VS我能夠連接到服務器並查看我在SQL Server對象資源管理器數據庫,但是查看服務器資源管理器會顯示我的連接名稱和數據庫將有一個紅色的X。
    • 在服務器資源管理器中的VS中,我可以在服務器名稱下鍵入。\ SQLEXPRESS並查看系統數據庫,但在連接到數據庫時看不到我的cfsEnergy DB>選擇或輸入數據庫名稱。
  • 使用Visual Studio 2015年

  • 試圖在我的用戶名和管理員帳戶添加到什麼,我相信是使用下面的腳本中的SQL Express組:https://gist.githubusercontent.com/wadewegner/1677788/raw/16862d429feaa5d2d799533c548632365a2f04ff/addselftosqlsysadmin.cmd

/App_Code文件/部門。 CS

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 

namespace cfsEnergyManagement.App_Code 
{ 
    public class department 
    { 
     public string ID { get; set; } 
     public string title { get; set; } 
     public List<utilityUse> utilityUse { get; set; } 
    } 
} 

/App_code/utilityUse.cs

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 

namespace cfsEnergyManagement.App_Code 
{ 
    public class utilityUse 
    { 
     public string utilityID { get; set; } 
     public string title { get; set; } 
     public string year { get; set; } 
     public string month { get; set; } 
     public int kiloWattHour { get; set; } 
     public int tonHour { get; set; } 
     public int kiloPoundsHour { get; set; } 
     public int netCost { get; set; } 
    } 
} 

/App_Code/dbContext.cs

using System; 
using System.Collections.Generic; 
using System.Data.Entity; 
using System.Linq; 
using System.Web; 

namespace cfsEnergyManagement.App_Code 
{ 
    public class cfsEnergyDb: DbContext 
    { 
    public DbSet<department> departments { get; set; } 
     public DbSet<utilityUse> utilityUses { get; set; } 

    } 
} 

dbContextRun.cs

namespace cfsEnergyManagement.App_Code 
{ 
    public class dbContextRun 
    { 

     cfsEnergyDb CfsEnergyDb = new cfsEnergyDb(); 

    } 
} 

連接字符串:web.config中

<connectionStrings> 
    <add name="cfsEnergyDb" connectionString="server=SQLEXPRESS;integrated security=SSPI;database=cfsEnergy" providerName="System.Data.SqlClient" /> 
</connectionStrings> 
+2

你有任何實際實例化你的上下文的代碼嗎?如果它從來沒有實例化,我認爲它不會做太多... – oerkelens

+0

我有另一個名爲dbContextRun.cs的類,但什麼都不做:p​​ublic class dbContextRun { cfsEnergyDb CfsEnergyDb = new cfsEnergyDb(); } –

+1

而且我假設你實際上是_executing_代碼莫名其妙?在應用程序中是否有Main()或其他入口點?或者你正在建立一個圖書館,它不能也不會真正自行運行? – oerkelens

回答

1

因爲你沒有實例cfsEnergyDb類。只有實體框架,並且只有在您嘗試首次從數據庫表(任何數據庫查詢)訪問任何數據時才創建數據庫。因此,嘗試從表中訪問數據,EF將在數據庫中爲您創建所有表(在連接字符串中指定)。

+0

我用cfsEnergyDb添加了另一個文件CfsEnergyDb = new cfsEnergyDb();是否還有其他需要添加的內容才能使實體正常工作? –

+1

如果還沒有創建,則嘗試訪問數據,如cfsEnergyDb.departments.ToList();在實例化檢查後,它肯定會創建 – Rajput

+0

cfsEnergyDb.department.ToList在當前上下文中不存在。 –

相關問題