MVC3中的EF的疑问

nullnullcao 2011-08-31 04:58:17
当没有写数据库链接字符串的时候,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,数据库里有数据。就是读不出来~~闹心。
...全文
281 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
nullnullcao 2011-09-02
  • 打赏
  • 举报
回复
我做的就是这个mvcmusicstore。。。数据来源让我很费解。。[Quote=引用 5 楼 caozhy 的回复:]

引用 3 楼 mh335776191 的回复:
引用 2 楼 caozhy 的回复:

http://topic.csdn.net/u/20110414/10/06526263-9e0d-491f-b963-7ae0afd1f7e4.html

我知道你是在做那个叫MusicStore的教程。那个文章用了CodeFirst,事实上EF还支持ModelFirst和从数据库生成Model两……
[/Quote]
threenewbee 2011-09-01
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 mh335776191 的回复:]
引用 2 楼 caozhy 的回复:

http://topic.csdn.net/u/20110414/10/06526263-9e0d-491f-b963-7ae0afd1f7e4.html

我知道你是在做那个叫MusicStore的教程。那个文章用了CodeFirst,事实上EF还支持ModelFirst和从数据库生成Model两种方式(MusicStore MVC2用的就是这个)……
[/Quote]
那你去下载一份MVCMusicstore 1.0版的教程来看。
nullnullcao 2011-09-01
  • 打赏
  • 举报
回复

<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???
nullnullcao 2011-09-01
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 caozhy 的回复:]

http://topic.csdn.net/u/20110414/10/06526263-9e0d-491f-b963-7ae0afd1f7e4.html

我知道你是在做那个叫MusicStore的教程。那个文章用了CodeFirst,事实上EF还支持ModelFirst和从数据库生成Model两种方式(MusicStore MVC2用的就是这个)。
[/Quote]意思是说使用CodeFirst了就优先使用代码创建数据库么?但是指定数据库不行吗?
<add name="MusicStoreEntities"
connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=MvcMusicStore;Integrated Security=True;User Instance=True"
providerName="System.Data.SqlClient" /> 这个链接字符串的数据库是已经存在的,并且里面还有数据了,如果这样明确的指定了数据库,EF还是使用代码优先吗?不使用指定的数据库么?
threenewbee 2011-08-31
  • 打赏
  • 举报
回复
http://topic.csdn.net/u/20110414/10/06526263-9e0d-491f-b963-7ae0afd1f7e4.html

我知道你是在做那个叫MusicStore的教程。那个文章用了CodeFirst,事实上EF还支持ModelFirst和从数据库生成Model两种方式(MusicStore MVC2用的就是这个)。
Lxpd 2011-08-31
  • 打赏
  • 举报
回复
需要在 protected void Application_Start()
{
Database.SetInitializer(new DropCreateDatabaseIfModelChanges<MusicStoreEntities>());
}
写上这句,,就可以在库结构改变的情况下重新建库了

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧