【问题标题】:ASP .NET Boilerplate + MongoDbASP .NET 样板 + MongoDb
【发布时间】:2018-03-12 07:32:34
【问题描述】:

我在我的项目中使用 ASP.Net 样板框架 + SQL Server 2016。最近我遇到了从 SQL Server 迁移到 MongoDB 的挑战。我发现可以使用 ASP .NET 样板并安装所需的 NuGet 包,但是,由于缺乏文档,我唯一能做的就是定义相应的 RepositoryBase 类:

public abstract class MyRepositoryBase<TEntity, TPrimaryKey> : MongoDbRepositoryBase<TEntity, TPrimaryKey>
    where TEntity : class, IEntity<TPrimaryKey>
{
    protected MyRepositoryBase(IMongoDatabaseProvider databaseProvider)
        : base(databaseProvider)
    {

    }

}

据我了解,首先,我现在需要在某处定义连接字符串。然后使用所需的基本数据填充数据库(以前由 EF Core 迁移完成)。显然,新方法中的 EF Core 已过时,这是否意味着我的 DbContext 类也已过时? 实际上,有很多关于 ASP .NET 样板和 MongoDB 集成的问题,因此我目前的帖子实际上是请求提供某种现有集成的示例。提前谢谢你。

【问题讨论】:

  • 所以您的问题是“如何在 MongoDB 中播种数据”
  • @CodeCaster,事实上是的。那么是否可以使用 EF 迁移在 MongoDB 中创建和填充数据库?

标签: asp.net mongodb aspnetboilerplate boilerplate asp.net-boilerplate


【解决方案1】:

您可以根据您的网络模块注册您的模块。

[DependsOn(typeof(YourMongoDbModule))]
public class YourWebModule : AbpModule
{

}

我认为您必须将存储库注册到:

IocManager.Register(typeof(IMongoRepository<>), typeof(MongoRepository<>), Abp.Dependency.DependencyLifeStyle.Singleton);

您可以参考this 示例。

也看看这个comment

Here 是一个将 EF Core 映射到 Mongo DB 的框架。

【讨论】:

  • 嗯...看起来这些是我所有问题的答案。明天我会复习,并会为您提供反馈。感谢您的帮助!
  • 您提供的示例具有目标框架 .net 标准,但是我的解决方案中的所有必需实体都放置在具有目标框架 .net 核心的项目中,因此我无法引用它。所以我设法创建了自己的基础存储库,它继承了 MongoDbRepositoryBase 但是仍然不清楚我应该使用什么上下文以及在哪里配置它(例如定义连接字符串)?所以在项目开始时我得到 System.TypeLoadException: 'Abp.BackgroundJobs.BackgroundJobStore' 类型中的'Method 'GetAsync' 没有实现。'
  • 所以这对于 aspnetboilerplate 团队来说可能是一个很好的问题,以便为此目的提供一种分步指南。 @vivekn
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-16
  • 1970-01-01
  • 1970-01-01
  • 2020-09-17
相关资源
最近更新 更多