2014-02-21 57 views
1

我想創建一個控制器來使用VS2013中的Linq to SQL類。我創建了一個SQL數據庫,並添加了一個名爲Alias的表格,其中包含一個字段和一個主鍵。然後我開始在我的Models文件夾中添加一個名爲Alias的Linq to SQL類。我將Alias表添加到OR設計器中,保存了該類並重新構建瞭解決方案。MVC 5無法創建Linq到SQL類的控制器

我點擊了我的控制器文件夾,然後用EF視圖添加控制器MVC 5。這是事情搞糟的地方,我的Alias Linq to SQL類的數據上下文缺失。我在這裏做錯了什麼?我的Alias模型類的唯一選擇是創建一個新的數據上下文類。如果這是與這個模板有關的事情,那麼這個Alias類的默認外觀控制器模板是什麼?

圖片的添加控制器對話框:enter image description here

web.config中的連接字符串:

<connectionStrings> 
    <add name="URLDBConnectionString" connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\URLDB.mdf;Integrated Security=True" 
     providerName="System.Data.SqlClient" /> 
    <add name="AurlContext" connectionString="Data Source=(localdb)\v11.0; Initial Catalog=AurlContext-20140221123357; Integrated Security=True; MultipleActiveResultSets=True; AttachDbFilename=|DataDirectory|AurlContext-20140221123357.mdf" 
     providerName="System.Data.SqlClient" /> 
    </connectionStrings> 
+0

你確定你的連接字符串在web.config中是正確的嗎? –

+0

我認爲你必須使用實體框架 - 不知道LINQ to SQL中是否支持這個。 – user1477388

+0

@GazWinter我剛剛檢查了連接字符串,它看起來像檢查數據庫,它也添加了Aurl上下文。我只是將其添加到問題以防萬一。 –

回答

5

實體框架(EF)是不一樣的事情的LINQ to SQL。您正在嘗試使用專爲實體框架設計的腳手架,但您擁有的唯一東西是LINQ to SQL上下文。這不起作用。

如果您使用的是LINQ to SQL設計器,那麼您應該能夠過渡到Database First樣式的實體框架,而不會有太多的麻煩。到數據庫首先上下文添加到您的項目請按照下列步驟操作:

  1. 右鍵單擊您的項目,然後單擊添加新項
  2. 轉到數據部分
  3. 選擇ADO.NET實體數據模型
  4. 給它像你的名字做了與你的.dbml,但EF使用的.edmx
  5. 選擇從數據庫
  6. 生成創建一個新的連接
  7. 選擇表,你想包括

這就是說,我強烈建議你去EF「Code First」方法。

+0

謝謝,我想我正在搞東西與EF。我想我會用EF方法來代替。 –