【发布时间】:2016-10-25 01:53:49
【问题描述】:
这是我真正的大问题:当我运行程序时,它发现没有流派):Check the picture
该示例使用此代码作为连接字符串:
<connectionStrings>
<add name="MusicStoreEntities"
connectionString="Data Source=|DataDirectory|MvcMusicStore.sdf"
providerName="System.Data.SqlServerCe.4.0"/>
</connectionStrings>
您可能会注意到,它使用的是 SqlServerCe4.0,但我改为更改它以使用 SqlClient(我已经安装了):
<connectionStrings>
<add
name="MusicStoreEntities"
connectionString="Data Source=(localdb)\v11.0;
Integrated Security=true;AttachDbFileName=|DataDirectory|MvcMusicStore.mdf"
providerName="System.Data.SqlClient"
/>
</connectionStrings>
示例数据文件:
using System.Collections.Generic;
using System.Linq;
using System.Data.Entity;
namespace MvcMusicStore.Models
{
public class SampleData : DropCreateDatabaseIfModelChanges<MusicStoreEntities>
{
protected override void Seed(MusicStoreEntities context)
{
var genres = new List<Genre>
{
//Perfec genres
};
var artists = new List<Artist>
{
//Cool Artists list
};
new List<Album>
{
//Awesome albums
}.ForEach(a => context.Albums.Add(a));
}
}
}
上下文类:
using System.Data.Entity;
namespace MvcMusicStore.Models
{
public class MusicStoreEntities : DbContext
{
public DbSet<Album> Albums { get; set; }
public DbSet<Genre> Genres { get; set; }
}
}
应用启动类:
using System.Web.Mvc;
using System.Web.Optimization;
using System.Web.Routing;
namespace MvcMusicStore
{
public class MvcApplication : System.Web.HttpApplication
{
protected void Application_Start()
{
System.Data.Entity.Database.SetInitializer(new MvcMusicStore.Models.SampleData());
AreaRegistration.RegisterAllAreas();
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
}
}
}
关于如何解决这个问题的任何想法?我会感谢你的帮助。
编辑 1. 添加 IdentityModels.cs
IdentityModels.cs
public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
public ApplicationDbContext()
: base("DefaultConnection", throwIfV1Schema: false)
{
}
public static ApplicationDbContext Create()
{
return new ApplicationDbContext();
}
}
【问题讨论】:
-
它有任何数据吗?
-
@Rahul 如果您谈论的是 SampleData 类,则该文件包含艺术家、专辑和流派。但是,我不知道为什么不填充数据库。
-
@Cempoalxóchitl 你有你的数据库吗?也许你的例子中的连接字符串无效。
-
嗨,@ShawnYan。我如何知道是否存在数据库?而且,是的,我也在想同样的事情,我认为我的 ConnectionString 有问题。编辑:天哪,我记得我删除了 App_Data 文件夹中的一些文件,认为它们会自动生成。我想我遇到了麻烦并决定删除那里的数据库。
-
@Cempoalxóchitl 您需要检查它是否存在于您的 App_Data 文件夹或您的 sql 服务器提供程序中。尝试使用此连接字符串:
<connectionStrings> <add name="MusicStoreEntities" connectionString="Data Source=(local);Initial Catalog=Db_Name;Integrated Security=True" providerName="System.Data.SqlClient"/> </connectionStrings>
标签: c# asp.net asp.net-mvc asp.net-mvc-3