我已經從模板創建了一個新項目。我使用了windows phone雲端工具箱模板,服務器端是第一個使用EF 4.1代碼的常規asp.net mvc3項目。無法在asp.net MVC3 EF代碼中首先添加控制器
我的datacontext被稱爲SqlDataContext並具有下面的構造:在web.config中定義爲
public SqlDataContext()
: base(ConfigReader.GetConfigValue("SqlSampleDataContextConnectionString"))
{
}
public DbSet<SqlSampleData> SqlSampleData { get; set; }
我的連接字符串:
<connectionStrings>
<add name="ApplicationServices" connectionString="Data Source=.\SQLEXPRESS;Integrated Security=true;User Instance=true;AttachDBFilename=|DataDirectory|\WPCloudApp26.mdf;Initial Catalog=WPCloudApp26;MultipleActiveResultSets=True" providerName="System.Data.SqlClient" />
</connectionStrings>
我添加了一個名爲Report
新模式,現在我想用添加控制器嚮導創建新的控制器,使用我的新型Report
型號和SqlDataContext
。當我嘗試創建時出現以下錯誤:
Unable to retrieve metadata for 'WPCloudApp1.Web.Models.Report'.
The 'SqlSampleDataContextConnectionString' setting is not available.
Parameter name: key
而且它無法創建新的控制器。
我在做什麼錯了?我在這個主題中的背景非常稀少,所以請儘量簡化。
我的報告類:
namespace WPCloudApp26.Web.Models
{
using System;
using System.ComponentModel.DataAnnotations;
// Summary:
// Sample Entity Framework 4.1 data class for SQL Azure.
// Using EF 4.1 Code-First, the database structure will be created to mirror this class properties.
// For more information, visit the ADO.NET Entity Framework website at http://msdn.microsoft.com/data/aa937723
public class Report
{
[Key]
public int Id { get; set; }
public string UserId { get; set; }
public string Description { get; set; }
public DateTime Date { get; set; }
public bool IsPublic { get; set; }
}
}
感謝。
編輯: 我沒有問題運行應用程序,只添加一個新的控制器。
您的連接字符串鍵是 「ApplicationServices」 的值,但你正在使用GetConfigvalue方法中的一些其他鍵 – 2012-03-13 11:00:15
@Ravi當我運行該應用程序,一切工作正常(我沒有改變任何東西從模板),所以我想連接字符串是好的 – Michael 2012-03-13 11:02:05
讓我顯示你的「Report.cs」類,並添加一個新的模型類後,你需要做一個「重建」 WPCloudApp1 ==>右鍵單擊==>重建 – Razor 2012-03-13 11:36:49