1

我正在尝试构建一个存储库,所以我发现这个链接解释得很好但我得到了错误

错误 1 ​​找不到类型或命名空间名称“EntityBase”(您是否缺少 using 指令或程序集引用?)

错误 2 找不到类型或命名空间名称“IAggregateRoot”(您是否缺少 using 指令或程序集引用?)

我的代码是

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data;
using System.Linq.Expressions;

namespace DapperAndSQLite
{
    public interface IRepository<T> where T : EntityBase, IAggregateRoot
    {
        void Add(T item);
        void Remove(T item);
        void Update(T item);
        T FindByID(Guid id);
        IEnumerable<T> Find(Expression<Func<T, bool>> predicate);
        IEnumerable<T> FindAll();
    }
}

这是屏幕截图(显示程序集或缺少某些东西)

在此处输入图像描述

我错过了什么吗?

4

2 回答 2

3

您尚未在项目中添加接口IAggregateRootEntityBase参考文章的源代码托管在 github 上。

从这里添加接口和基类。

于 2015-10-14T18:44:24.590 回答
1

1)您永远不应该将存储库接口放在基础设施项目中,它们属于Domain

2) 这个EntityBaseIAggregateRoot应该留在Domain项目中。

3) 您必须将项目引用添加到Infrastructure.DapperAndSQLite并实现此存储库。

于 2015-10-14T18:19:02.440 回答