繁体   English   中英

我该如何解决这个错误? 参数 1:无法将“字符串”转换为“Microsoft.EntityFrameworkCore.DbContextOptions”

[英]How do I fix this error? Argument 1: cannot convert 'string' to 'Microsoft.EntityFrameworkCore.DbContextOptions'

我对DbContext有疑问。 我决定创建一个新的 class,它将负责与数据库的连接。

public class DataContextService : IDataContextService
    {
        private IMediator _mediator { get; }
        private CommonContext _commonContext { get; set; }
        private MembershipContext _membershipContext { get; set; }
        private LogsContext _logContext { get; set; }
        private MongoContext _mongoContext { get; set; }
        private IServiceScopeFactory _scopeService;

但是,我在 base 名称附近有一个例外:

参数 1:无法将“字符串”转换为“Microsoft.EntityFrameworkCore.DbContextOptions”。

我发现了一个类似的问题和响应,代码与我的类似,但我不确定如何解决这个问题。 我将不胜感激你的帮助。

internal MembershipContext Membership_Context
        {
            get
            {
                if (_membershipContext == null)
                {
                     //This is where the error happens
                    _membershipContext = new MembershipContext(AwsSecretsManager.Get(AwsSecretNames.DbsMembership, "BusinessObjects")); 
                }
                return _membershipContext;
            }
        }

我找到了如何修复错误。 我缺少MembershipContextDBContextOptions的定义。 我只需要添加它,以便该方法可以识别连接字符串。

MembershipContext.cs

 private static DbContextOptions GetOptions(string connectionString)
        {
            return SqlServerDbContextOptionsExtensions.UseSqlServer(new DbContextOptionsBuilder(), connectionString, o => o.CommandTimeout(300)).Options;
        }
        public MembershipContext(string connectionString) : base(GetOptions(connectionString))
        {

        }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM