读书人

asp.net mvc3 和 Entity Framework 联

发布时间: 2013-03-28 10:20:24 作者: rapoo

asp.net mvc3 和 Entity Framework 联合使用时发现的问题
问题是在新建Controller类时发现的,新建Controller时选择了新增Data Context Class,将名称命名为
MusicStoreDB,然后生成的代码如下所示:

public class MusicStoreDB : DbContext
{
public DbSet<Album> Album { get; set; }

public DbSet<Genre> Genre { get; set; }

public DbSet<Artist> Artist { get; set; }
}


奇怪的是生成的实体集合的名称像Album,Genre都是单数形式,为什么不是复数形式?我在项目中定义了Album,Genre,Artist三个实体类,放在三个cs文件中,具体代码如下所示:
Album.cs

public class Album
{

public virtual int AlbumId { get; set; }
public virtual int GenreId { get; set; }
public virtual int ArtistId { get; set; }
public virtual string Title { get; set; }
public virtual decimal Price { get; set; }
public virtual string AlbumArtUrl { get; set; }
public virtual Genre Genre { get; set; }
public virtual Artist Artist { get; set; }


}


Genre.cs

public class Genre
{
public virtual int GenreId { get; set; }
public virtual string Name { get; set; }
public virtual string Description { get; set; }
public virtual List<Album> Albums { get; set; }
}


Artist.cs

public class Artist
{
public virtual int ArtistId { get; set; }
public virtual string Name { get; set; }
}


是不是要在哪里配置下?还是说要通过运行EDM向导才能重新配置?
[解决办法]
这个在从数据库生成实体的时候,有个Checkbox 问是否要复数的选框。
[解决办法]
你是在做那个MvcMusicStore么?好好看看人家提供的教程和源代码,你有什么差错。
[解决办法]
这个没啥好纠结的吧,就是个变量名,自己改一下就是了,连BUG都算不上。不过我试了一下倒是带复数形式的,可能是版本问题,我的是EF 5.0.

读书人网 >asp.net

热点推荐