【发布时间】:2014-03-18 16:08:46
【问题描述】:
我正在使用 MVC 音乐商店教程应用程序。 我更改了应用程序的 3 个原始类名(重命名),即流派、专辑和艺术家,并将它们分别命名为类别、品牌和类型。
我已经更新了所有地方的所有参考资料。因此,在此之后,我拥有的是相同的应用程序和数据库值,但具有我想要的名称。
在作为种子类的 SampleData.cs 中,当我根据我的要求向列表中添加新值时,我没有看到任何更改反映在数据库中并且在运行应用程序时再次显示相同的值。
我的种子类代码片段(仅限类别)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data.Entity;
namespace MvcMusicStore.Models
{
public class SampleData : DropCreateDatabaseIfModelChanges<MusicStoreEntities>
{
protected override void Seed(MusicStoreEntities context)
{
var genres = new List<Categories>
{
new Categories { Name = "Guitars" },
new Categories { Name = "Keyboards" },
new Categories { Name = "Drums" },
new Categories { Name="Amplifiers"}
};
输出显示:
摇滚
古典
爵士乐
流行音乐
迪斯科
拉丁语
金属
选择
雷鬼
蓝调
等等等等。
我还认为在 EF 代码中,对种子数据的更改将动态反映在它所连接的数据库中(数据库连接工作正常)
这里需要一些指导。 提前致谢
【问题讨论】:
-
据我所知,您没有将任何内容保存到数据库中,因此没有什么可以持久化。
-
不,但先生,我猜在 MVC EF Code first 框架中,对种子类的任何更改都需要反映在数据库中,对吗?所有表格(即类别、品牌等)都已经存在。如果我在概念上落后于某个地方,请帮助我。已经填充了值,我正在更改上面显示的种子类中的值。
-
当然,如果您将其添加到数据库中。现在,您只是创建了一个
Categories列表,而没有对其进行任何操作。 -
或者我应该将行更改为 public class SampleData : DropCreateDatabaseIfModelChanges
??
标签: c# asp.net-mvc entity-framework asp.net-mvc-4