c#-可以由数据库类派生的抽象类

这是我的抽象类:

namespace MusicStoreApp.BLL.Master
{
    public abstract class Master<T>
    {
        MusicStoreEntities db = new MusicStoreEntities();
        public void Add(T item)
        {
            db.T.Add(item);
            db.SaveChanges();
        }
    }
}

这是我在其他课程中的目标输出:

public class AlbumRepository : Master<Album>
    {
        public void Add(Album item)
        {
            db.Albums.Add(item);
            db.SaveChanges();
        }
     }

public class ArtistRepository : Master<Artist>
        {
            public void Add(Artist item)
            {
                db.Artists.Add(item);
                db.SaveChanges();
            }
         }

我在这里要做的是创建一个可重用的类接口类.因此,我只需键入T参考的名称,它将为我创建其余代码.

解决方法:

样本的设置方式无法正常工作,因为T需要指向两个不同的类(特定的实例和包含该类的DbSet).相反,请尝试以下操作:

namespace MusicStoreApp.BLL.Master
{
    public abstract class Master<T>
    {
        MusicStoreEntities db = new MusicStoreEntities();
        public void Add(T item)
        {
            db.Entry(item).State = System.Data.Entity.EntityState.Added;
            db.SaveChanges();
        }
    }
}
上一篇:Java中的棋盘游戏实现


下一篇:Delphi 系统[4]关键字和保留字 interface、implementation、initialization、finalization