我正在使用RTM版本的Windows 8和VS 2012 Ultimate.我有一个MVC4项目使用SqlCe 4.0和代码第一实体框架模型.
模型很简单:
public class MyThing
{
public int MyThingId { get; set; }
public int UserId { get; set; }
public string Title { get; set; }
public string Address { get; set; }
public string Description { get; set; }
public DateTime Date { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
当我尝试使用内置脚手架创建一个新的控制器时,我收到以下错误:
"无法检索MyThing的元数据"
"不支持使用相同的DbCompiledModel来创建针对不同类型的数据库服务器的上下文.而是为每种使用的服务器创建单独的DbCompiledModel.
如何让脚手架工作?
我正在从Microsoft的教程中学习ASP.NET MVC:
http://www.asp.net/mvc/tutorials/getting-started-with-aspnet-mvc3/cs/accessing-your-model "S- https://stackoverflow.com/editing-helpdata-from-a-调节器
在上面提到的链接中,在添加名为"MoviesController"的控制器时,我收到此错误
"无法检索'MvcMovie.Models.Movie'的元数据.不支持使用相同的DbCompiledModel来创建针对不同类型的数据库服务器的上下文.而是为每种正在使用的服务器类型创建单独的DbCompiledModel"
我该如何解决这个问题?
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) 我正在尝试学习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有一些兼容性问题?