MVC4 +实体框架4.4 + MySql + POCO /代码优先
我正在设置上面的配置..这是我的课程:
namespace BTD.DataContext
{
public class BTDContext : DbContext
{
public BTDContext()
: base("name=BTDContext")
{
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
//modelBuilder.Conventions.Remove<System.Data.Entity.Infrastructure.IncludeMetadataConvention>();
}
public DbSet<Product> Products { get; set; }
public DbSet<ProductImage> ProductImages { get; set; }
}
}
namespace BTD.Data
{
[Table("Product")]
public class Product
{
[Key]
public long ProductId { get; set; }
[DisplayName("Manufacturer")]
public int? ManufacturerId { get; set; }
[Required]
[StringLength(150)]
public string Name { get; set; …Run Code Online (Sandbox Code Playgroud) 我正在使用VS 2010 Premium.我有一个使用SqlCe 4.0和实体框架模型的MVC4项目.
型号是:
public class ProjectBuild
{
public int ProjectBuildID {get;set;}
public string name {get;set;}
}
public class ProjectBuildContext:DbContext
{
public DbSet<ProjectBuild> builds {get;set;}
}
Run Code Online (Sandbox Code Playgroud)
下面是我的连接字符串:
add name="ProjectBuildContext" connectionString="Data Source=|DataDirectory|DB.sdf"
providerName="System.Data.SqlServerCe.4.0"
Run Code Online (Sandbox Code Playgroud)
当我尝试使用内置脚手架创建一个新的控制器时,我收到以下错误:
"无法检索ProjectBuild的元数据"."不支持使用相同的DbCompiledModel为不同类型的数据库服务器创建上下文.而是为每种使用的服务器创建单独的DbCompiledModel.
我正在尝试学习ASP.NET MVC,所以我在asp.net网站上关注音乐商店教程.
我使用Album.cs作为模型类创建StoreManagerController,使用MusicStoreEntities.cs作为数据上下文类.
创建Controller时的错误是:无法检索"MvcMusicStore.Models.Album"的元数据.不支持使用相同的DbCompiledModel为不同类型的数据库服务器创建上下文.而是为每种使用的服务器创建一个单独的DbCompiledModel.
听起来我正在使用两个不同的数据库,但这是我在Web.config中的连接字符串部分:
<connectionStrings>
<add name="MusicStoreEntities" providerName="System.Data.SqlServerCe.4.0" connectionString="Data Source=|DataDirectory|\MvcMusicStore.sdf"/>
</connectionStrings>
Run Code Online (Sandbox Code Playgroud)
奇怪的是,如果我注释掉MusicStoreEntities连接字符串,然后尝试创建它可以工作的StoreManagerController.如果我将解决方案设置中的目标框架更改为.NET Framework 4,在Visual Studio 2010中打开解决方案,然后创建Controller,它也可以工作.
那么Visual Studio 2012或连接字符串是一个问题吗?可能与CE4.0和VS2012有一些兼容性问题?