当没有写数据库链接字符串的时候,EF会自动的根据所继承DbContext的类创建对应的数据库。但是如果指定了数据库,明确的写出了数据库链接,是不是所指定的数据库的结构必须跟Models的结构保持一致?如果结构不一致就不能用这个数据库么? 但是这种情况下也没有自动生成所对应的数据库啊。什么原因???
 
public class MusicStoreEntities:DbContext
    {
        public DbSet<Album> Albums { get; set; }
        public DbSet<Genre> Genres { get; set; }
        public DbSet<Artist> Artists { get; set; }
    }这个是没写链接字符串的
生成了对应的三个表 Albums,Genres,Artists
  <connectionStrings>
    <add name="MusicStoreEntities" 
         connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=MvcMusicStore;Integrated Security=True;User Instance=True"  
         providerName="System.Data.SqlClient" /> 
  </connectionStrings>
这个是链接字符串,用了这个就读不到数据。
表的结构都一样啊。。三个表 Albums,Genres,Artists,数据库里有数据。就是读不出来~~闹心。

解决方案 »

  1.   

    需要在 protected void Application_Start()
            {
                Database.SetInitializer(new DropCreateDatabaseIfModelChanges<MusicStoreEntities>());
    }
    写上这句,,就可以在库结构改变的情况下重新建库了
      

  2.   

    http://topic.csdn.net/u/20110414/10/06526263-9e0d-491f-b963-7ae0afd1f7e4.html我知道你是在做那个叫MusicStore的教程。那个文章用了CodeFirst,事实上EF还支持ModelFirst和从数据库生成Model两种方式(MusicStore MVC2用的就是这个)。
      

  3.   

    意思是说使用CodeFirst了就优先使用代码创建数据库么?但是指定数据库不行吗?
      <add name="MusicStoreEntities"  
      connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=MvcMusicStore;Integrated Security=True;User Instance=True"   
      providerName="System.Data.SqlClient" />  这个链接字符串的数据库是已经存在的,并且里面还有数据了,如果这样明确的指定了数据库,EF还是使用代码优先吗?不使用指定的数据库么?
      

  4.   

     
       <add name="MusicStoreEntities" 
             connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=MvcMusicStore;Integrated Security=True;User Instance=True"  
             providerName="System.Data.SqlClient" /> 
     <add name="MusicStoreEntities" 
             connectionString="Data Source=.\SQLEXPRESS;AttachDBFilename=|DataDirectory|\MvcMusicStore.mdf;  Integrated Security=True;User Instance=True"  
             providerName="System.Data.SqlClient" /> 把数据库文件放在app_data文件夹下就能读取数据了?why???
      

  5.   

    那你去下载一份MVCMusicstore 1.0版的教程来看。
      

  6.   

    我做的就是这个mvcmusicstore数据来源让我很费解。。