小编She*_*Dev的帖子

如何使用存储库模式查询交叉表?

在我的asp.net mvc 3应用程序中,我正在使用存储库模式.我有3个实体,公司,国家,城市.他们每个人都有自己的存储库.公司实体拥有FoundedCountry和FoundedCity外键.现在在视图中,我想展示公司的详细信息.在此视图中,我想查看公司详细信息以及FoundedCountry名称和FoundedCity名称.在我看来,我必须通过一种JOIN查询来处理这个问题.但我坚持如何在存储库模式中实现这一点.如何在存储库模式中处理此JOIN?

谢谢.

asp.net-mvc join repository-pattern

9
推荐指数
1
解决办法
4194
查看次数

我应该使用EF在存储库模式中实现DTO吗?

在我的项目中,我正在使用EF Code First方法.我有一个存储库层,服务层和表示层(ASP.NET MVC).我正在为每个视图使用专用的视图模型.

我感到困惑的是,我的服务应该将实体返回到控制器以将它们映射到视图模型,还是应该实现DTO并从服务返回它们?

所以问题是当流程类似于"EF - >存储库 - >服务 - > UI"时,数据转换将是什么."实体 - > DTO - > Viewmodel"或"实体 - > Viewmodel"?

看起来如果我使用DTO,它们会有点重复实体.

我正在努力遵循最佳做法.

谢谢.

asp.net-mvc entity-framework dto repository-pattern viewmodel

9
推荐指数
1
解决办法
5016
查看次数

具有软删除功能的通用存储库

我有一个通用的存储库实现.我正在使用asp.net mvc c#,代码第一个实体框架.

我创建了一个名为ISoftDelete的接口:

public interface ISoftDelete
{
    bool IsDeleted { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我在我的基础存储库中实现了Delete和GetById,如下所示:

    public virtual void Delete(T entity)
    {
        if (entity is ISoftDelete)
        {
            ((ISoftDelete)entity).IsDeleted = true;
        }
        else
        {
            dbset.Remove(entity);
        }
    }

    public virtual T GetById(long id)
    {
        T obj = dbset.Find(id);
        if (obj is ISoftDelete)
        {
            if (((ISoftDelete)obj).IsDeleted)
                return null;
            else
                return obj;
        }
        else
        {
            return obj;
        }
    }
Run Code Online (Sandbox Code Playgroud)

现在,我有2个问题.

1)这种方法是一种好方法吗?任何性能相关的问题?

2)我在基础存储库中的原始GetAll函数是这样的:

    public virtual IEnumerable<T> GetAll()
    {
            return dbset.ToList();
    }
Run Code Online (Sandbox Code Playgroud)

当从ISoftDelete派生T时,如何修改它以便列出IsDeleted == false的记录?

谢谢!

asp.net-mvc repository-pattern ef-code-first

5
推荐指数
1
解决办法
2963
查看次数

ASP.NET MVC服务层输入输出数据

我在项目中使用服务层跟踪存储库模式.对于每个视图,我将创建一个viewmodel.

我感到困惑的是,服务层应该直接访问域对象并将它们返回给控制器,还是应该使用DTO.如果我应该使用DTO,将它们放在项目架构中的哪个位置?

谢谢.

asp.net-mvc dto repository-pattern service-layer

5
推荐指数
1
解决办法
1975
查看次数

没有角色的要求?

我正在尝试了解ASP.NET身份验证和授权机制。我了解什么是要求和什么角色。在几乎所有相关的博客文章或此处的问题中,建议使用声明并避免使用角色。在这一点上,我感到困惑。如何使用没有角色的声明?(我通常会在用户注册后为他们分配角色。)

任何帮助表示赞赏。

谢谢

asp.net claims-based-identity role-base-authorization asp.net-identity

5
推荐指数
1
解决办法
905
查看次数