【问题标题】:What .Net Namespace contains Entity for use in a generic repository?什么 .Net 命名空间包含在通用存储库中使用的实体?
【发布时间】:2010-04-08 15:33:19
【问题描述】:

我有一个不好意思问的问题,但无论如何我都会试一试。我正在 asp.net mvc 中创建一个通用存储库。我在这个网站上遇到了一个例子,我发现它正是我想要的,但是有一个问题。它引用了一个对象 - 实体 - 我不知道它在哪个命名空间中。我通常创建我的存储库并使用实体框架,但我决定使用通用存储库,因为我在多个项目中一遍又一遍地使用相同的代码.

代码如下:

公共接口IRepository { 无效保存(ENTITY 实体) 其中 ENTITY : 实体;

void Delete<ENTITY>(ENTITY entity)
    where ENTITY : Entity;

ENTITY Load<ENTITY>(int id)
    where ENTITY : Entity;

IQueryable<ENTITY> Query<ENTITY>()
    where ENTITY : Entity;

IList<ENTITY> GetAll<ENTITY>()
    where ENTITY : Entity;

IQueryable<ENTITY> Query<ENTITY>(IDomainQuery<ENTITY> whereQuery)
    where ENTITY : Entity;

ENTITY Get<ENTITY>(int id) where ENTITY : Entity;

IList<ENTITY> GetObjectsForIds<ENTITY>(string ids) where ENTITY : Entity;

void Flush();

}

谁能告诉我实体在哪个命名空间?如您所知,代码上放置了一个约束,因此它必须是实体类型。我知道 System.Data.Entity 中有一个实体,但这不是我需要的。在我寻找某个名称空间之前,我曾遇到过一些实例,这些名称空间让我永远找不到,但我已经搜索过,但我无法找到合适的名称空间来正确转换我的通用项目。我可以将它转换为一个类并完成它,但是我在任何地方都找不到实体,这让我很烦恼。

有人可以帮我吗....拜托.... :-)

这是原始帖子的链接。 ASP.NET MVC: How many repositories?

【问题讨论】:

    标签: asp.net frameworks repository entity generics


    【解决方案1】:

    我认为在您引用的示例中 Entity 是一个基础接口,可以从存储库中获取的所有对象都需要实现。

    我不认为它是框架的一部分,而是他使用的 RichardOD 解决方案的一部分。

    在这个例子中,它可以像定义所有存储库持有的项目所使用的 ID 类型一样简单。

    例如

    public interface Entity
    {
      int Id {get; set;}
    }
    

    【讨论】:

    • 你说得对!我刚开始阅读 C# 中的 .Net 域驱动设计,答案立即变得清晰。就像你说的那样。现在我觉得有点傻,没有早点想到这一点。当我从 asp.net 迁移到 asp.net mvc 时,我感觉自己又像个新手了。我没有想。再次感谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-06-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-08
    • 1970-01-01
    • 2012-09-19
    相关资源
    最近更新 更多