结构图和实体框架4.1

发布于 2024-11-28 08:31:54 字数 830 浏览 5 评论 0原文

我的存储库类的形式如下:

  public partial class CategoryRepository : EfRepository<Category>, ICategoryRepository
{
    public CategoryRepository(IUnitOfWork uow)
        : base(uow)
    { }
}
public partial interface ICategoryRepository : IRepository<Category>
{
}

并且我需要其中许多相同的格式。这是一项漫长而无聊的工作。 对于引导程序,我使用通用类型扫描。

 ObjectFactory.Initialize(x =>
        {              
            x.Scan(y =>
            {
                y.AssemblyContainingType(typeof(IRepository<>));
                y.ConnectImplementationsToTypesClosing(typeof(IRepository<>)).
                    OnAddedPluginTypes(z => z.HybridHttpOrThreadLocalScoped());

            });

工作得很好,但如果我不需要像上面那样声明所有存储库类,那就更好了。无论如何要解决这个问题?我正在使用 Structuremap 2.6.2

谢谢大家, 南沃.

I have my repository classes with the form like this:

  public partial class CategoryRepository : EfRepository<Category>, ICategoryRepository
{
    public CategoryRepository(IUnitOfWork uow)
        : base(uow)
    { }
}
public partial interface ICategoryRepository : IRepository<Category>
{
}

and i need to have many of them, same format. it's a long boring work to do.
For bootstrapper, i use generic type scan.

 ObjectFactory.Initialize(x =>
        {              
            x.Scan(y =>
            {
                y.AssemblyContainingType(typeof(IRepository<>));
                y.ConnectImplementationsToTypesClosing(typeof(IRepository<>)).
                    OnAddedPluginTypes(z => z.HybridHttpOrThreadLocalScoped());

            });

Works just fine, but it'd be nicer if i dont need to declare all the repository classes like above. Anyway to get around this?? I'm using structuremap 2.6.2

THanks all,
Nam Vo.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

嘴硬脾气大 2024-12-05 08:31:54

是的,您可以为此使用泛型。声明一个默认存储库或类似的内容:

    public class DefaultRepository<TEntity> : 
EfRepository<TEntity>, IRepository<TEntity>

确保将 TEntity 自己限制为正确的类型。

Yes you can use generics for this. Declare a defaultrepository or something like this:

    public class DefaultRepository<TEntity> : 
EfRepository<TEntity>, IRepository<TEntity>

Make sure you constrain TEntity yourself to the proper types.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文