Шаблон ASP .NET + MongoDb

В своем проекте я использую шаблонный фреймворк 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, поэтому мой текущий пост на самом деле является просьбой предоставить какой-то пример существующей интеграции. Заранее спасибо.


person Gaius Caesar    schedule 12.03.2018    source источник
comment
Итак, ваш вопрос: Как засеять данные в MongoDB?   -  person CodeCaster    schedule 12.03.2018
comment
@CodeCaster, вообще-то да. Так можно ли использовать миграции EF для создания и заполнения базы данных в MongoDB?   -  person Gaius Caesar    schedule 17.03.2018


Ответы (1)


Вы можете зарегистрировать свой модуль, в зависимости от того, что он есть в вашем веб-модуле.

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

}

Я думаю, вам нужно зарегистрировать репозиторий с помощью:

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

Вы можете сослаться на этот образец.

Просмотрите также этот комментарий.

Здесь представлена ​​структура, которая сопоставляет EF Core с Mongo DB.

person vivek nuna    schedule 12.03.2018
comment
Хм ... Похоже, это ответы на все мои вопросы. Я проверю завтра и дам вам отзыв. Спасибо за помощь! - person Gaius Caesar; 12.03.2018
comment
В предоставленном вами образце есть стандарт целевой платформы .net, однако все необходимые сущности в моем решении размещены внутри проекта с помощью целевой платформы .net core, поэтому я не могу ссылаться на нее. Итак, мне удалось создать свой собственный базовый репозиторий, который наследует MongoDbRepositoryBase, однако до сих пор неясно, какой контекст я должен использовать для него и где его настроить (например, определить строку подключения)? Итак, в начале проекта я получаю System.TypeLoadException: «Метод GetAsync типа« Abp.BackgroundJobs.BackgroundJobStore »не имеет реализации». - person Gaius Caesar; 19.03.2018
comment
так что это, вероятно, хороший вопрос к команде aspnetboilerplate, чтобы предоставить своего рода пошаговое руководство для этой цели. @vivekn - person Gaius Caesar; 19.03.2018