首页 新闻 会员 周边

EF的codeFirst

0
悬赏园豆:5 [已解决问题] 解决于 2011-09-05 16:32

当没有写数据库链接字符串的时候,EF会自动的根据所继承DbContext的类创建对应的数据库。但是如果指定了数据库,明确的写出了数据库链接,是不是所指定的数据库的结构必须跟Models的结构保持一致?如果结构不一致就不能用这个数据库么? 但是这种情况下也没有自动生成所对应的数据库啊。什么原因???

 

 

当没有写数据库链接字符串的时候,EF会自动的根据所继承DbContext的类创建对应的数据库。但是如果指定了数据库,明确的写出了数据库链接,是不是所指定的数据库的结构必须跟Models的结构保持一致?如果结构不一致就不能用这个数据库么? 但是这种情况下也没有自动生成所对应的数据库啊。什么原因???

 
C# code
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>
这个链接字符串的数据库是已经存在的,并且里面还有数据了,如果这样明确的指定了数据库,EF还是使用代码优先吗?不使用指定的数据库么?

 

园豆不多了!希望知道的大牛能帮忙解决下这个问题。。感激涕零@—@

Rookier的主页 Rookier | 小虾三级 | 园豆:652
提问于:2011-09-01 09:53
< >
分享
最佳答案
0

如果数据库存在,会优先使用已有的数据库,这里你要把models跟数据库中表的字段对应起来

收获园豆:5
artwl | 专家六级 |园豆:16736 | 2011-09-01 10:11
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册