System.Data.Entity.Infrastructure.DbRawSqlQuery <>不包含“包含”的定义

时间:2019-01-17 08:11:08

标签: c# asp.net-mvc entity-framework

我正在使用ASP.NET MVC,实体框架和WCF开发音乐商店示例应用程序。

在数据库层中,只想从数据库中提取检索类型和其相关专辑。

为此使用了此方法,并使用存储过程“ GetAllGenres”来获取所有流派

CREATE PROCEDURE GetAllGenres
AS
BEGIN       

   SELECT [GenreId]
      ,[Name]
      ,[Description]
  FROM [dbo].[Genres]

END
GO

访问上述存储过程的方法是

public static Genre BrowseGenre(string genre)
        {
            using (MusicStoreEntities db = new MusicStoreEntities())
            {
                return db.Database.SqlQuery<Genre>("GetAllGenres").Include("Albums").Single(g => g.Name == genre);
            }
        }

我收到以下错误

System.Data.Entity.Infrastructure.DbRawSqlQuery”不包含“ Include”的定义,也没有扩展方法“ Include”

如何解决?

1 个答案:

答案 0 :(得分:0)

最终结论,因为SqlQuery没有Include方法

public static Genre BrowseGenre(string genre)
        {
            using (MusicStoreEntities db = new MusicStoreEntities())
            {
                //return db.Database.SqlQuery<Genre>("GetAllGenres").Include("Albums").Single(g => g.Name == genre);
                return db.Genres.Include("Albums").Single(g => g.Name == genre);
            }                
        }