c# - 创建存储库

标签 c# visual-studio-2010 asp.net-mvc-3 linq repository

我一直在用 http://www.asp.net/mvc/tutorials/getting-started-with-ef-using-mvc/implementing-the-repository-and-unit-of-work-patterns-in-an-asp-net-mvc-application 作为帮助我创建存储库的指导。我已经使用下面的代码创建了一个类。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using TheatreGroup.Models;

namespace TheatreGroup.DAL
{
    public interface IShowRepository : IDisposable
    {
        IEnumerable<Show> GetShows();
        Show GetShowByID(int showId);
        void InsertShow(Show name);
        void DeleteShow(int showID);
        void UpdateShow(Show name);
        void Save();
    }
}

但是当我创建第二个类时,我收到一条错误消息:

TheatreGroup.DAL.ShowRepository' does not implement interface member 'TheatreGroup.DAL.IShowRepository.InsertShow(TheatreGroup.Models.Show)'.

错误出现在第 5 行向下(大约)

using System.Data;
using TheatreGroup.Models;

namespace TheatreGroup.DAL
{
    public class ShowRepository: IShowRepository, IDisposable
    {
        private TheatreContext context;

        public ShowRepository(TheatreContext context)
        {
            this.context = context;
        }

        public IEnumerable<Show> GetShows()
        {
            return context.Shows.ToList();
        }

        public Show GetShowByID(int id)
        {
            return context.Shows.Find(id);
        }

        public void InsertShows(Show name)
        {
            context.Shows.Add(name);
        }

        public void DeleteShow(int showID)
        {
            Show shows = context.Shows.Find(showID);
            context.Shows.Remove(shows);
        }

        public void UpdateShow(Show name)
        {
            context.Entry(name).State = EntityState.Modified;
        }

        public void Save()
        {
            context.SaveChanges();
        }

        private bool disposed = false;

        protected virtual void Dispose(bool disposing)
        {
            if (!this.disposed)
            {
                if (disposing)
                {
                    context.Dispose();
                }
            }
            this.disposed = true;
        }

        public void Dispose()
        {
            Dispose(true);
            GC.SuppressFinalize(this);
        }
    }
}

最佳答案

您有 InsertShows 而不是 InsertShow。您的界面需要 InsertShow

关于c# - 创建存储库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10125884/

相关文章:

c# - 使用 Visual Studio 2010 为较旧的 .net 框架创建

c++ - 在静态/动态库混合中链接 Debug-CRT 时崩溃?

c# - 带有手动绑定(bind)的 Telerik MVC Grid Ajax

c# - LINQ DataTable Sum In Where 子句

c# - 如何在C#中获取默认浏览器的图标?

c++ - C4127:条件表达式为常数

asp.net-mvc-3 - MVC3 Razor 局部 View 渲染不包括数据验证属性

css - 在 MVC 3 Razor 中垂直对齐文本框

c# - 如何监听一个抽象方法?

c# - 难以为 System.Linq.Enumerable.Select 输入参数