3

我正在学习使用 .NET MVC 3 和 C# 进行开发。我正在尝试使用“代码优先”方法来创建应用程序,但是当我尝试从数据库中提取数据时,我收到一条错误消息“提供程序没有返回 ProviderManifestToken 字符串”。

我看过其他一些关于此错误的帖子,但我在这些帖子中找不到适合我的解决方案。

我在 Windows 7 64 位上使用 MS Visual Web Developer Express 2010。我使用 SQL Compact Server 4.0 作为我的数据库。

当这段代码尝试运行时会触发错误:

public class StoreController : Controller
{
    MusicStoreEntities storeDB = new MusicStoreEntities();

    //
    // GET: /Store/

    public ActionResult Index()
    {
        var genres = storeDB.Genres.ToList(); // This line causes the error

        return View(genres);
    } 
}

我的 DbContext 类如下:

public class MusicStoreEntities : DbContext
{
    public DbSet<Album> Albums { get; set; }
    public DbSet<Genre> Genres { get; set; }
}

还有我的连接字符串:

<connectionStrings>   
  <add name="MusicStoreEntities" 
  connectionString="Data Source=|DataDirectory|MvcMusicStore.sdf"
  providerName="System.Data.SqlServerCe.4.0"/>
</connectionStrings>

有什么看起来不对吗?如果您需要更多信息,请询问。

谢谢

4

1 回答 1

0

你只需要放“。” 对于数据源中的localmachine如下:

<add name="MYSQLSERVER" providerName="System.Data.SqlClient" connectionString="Data Source=.\MYSQLSERVER;Trusted_Connection=true"></add>
</connectionStrings>

于 2014-03-24T13:42:59.843 回答