2012-09-04 40 views
1

我想使用SQL Server compact edition 4.0創建一個簡單的EF代碼第一個示例。 使用的技術包括:Visual Studio 2012 Ultimate。如何使用ef代碼先在asp.net mvc中使用sql服務器ce 4 visual studio 2012

所以我創建了一個簡單的POCO類:

namespace MvcApplication2.Models 
{ 
    public class Customer 
    { 
     public int CustomerId { get; set; } 
     public string CustomerName { get; set; } 
    } 
} 

和一個簡單的上下文類:

namespace MvcApplication2.Models 
{ 
    public class CustomerEntity : DbContext 
    { 
     public DbSet<Customer> Customers { get; set; } 
    } 
} 

然後我試圖創建一個控制器類模板:MVC控制器具有讀/寫行動和觀點使用實體框架。

  • Model類 - >客戶
  • 數據上下文類 - > CustomerEntity

我得到了以下錯誤:

Unable to retreive metadata for ... Using the same dbcompiledmodel to create contexts against different types of database servers is not supported. ...

我應該說這完全一樣的代碼中使用的工作沒有問題的LocalDB。

我認爲唯一的區別是需要將以下內容添加到web.config文件中。

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

我是否缺少別的東西?

我知道我不能是唯一有這個問題的人。

回答

0

你的問題在EF緩存中的dublicate DB和你的App_Data中的DB。解決此問題的最簡單方法是註釋默認構造函數CustomerEntity,從模板創建控制器,然後取消註釋。

相關問題