c# – 使用.net核心应用程序的MySQL提供程序生成MissingMethodEx
发布时间:2020-12-15 21:03:00 所属栏目:百科 来源:网络整理
导读:我是.net核心的新手,所以问题可能很简单,但我不知道,如何解决它… 尝试在我的代码中使用MySQL数据库会在select上给出一个MissingMethodException. public ListMessage GetMessages(String chatHash,Int32 count = 0){ // exception is generated here return
我是.net核心的新手,所以问题可能很简单,但我不知道,如何解决它…
尝试在我的代码中使用MySQL数据库会在select上给出一个MissingMethodException. public List<Message> GetMessages(String chatHash,Int32 count = 0) { // exception is generated here return count == 0 ? Context.Messages() .Where(x => x.Chat.Hash.Equals(chatHash)) // string compaction .Include(x => x.Attachments) .ToList() : Context.Messages .Where(x => x.Chat.Hash.Equals(chatHash)) .Include(x => x.Attachments) .Take(count) .ToList(); } 示例被简化了一点,不显示存储库和其他一些包装. 例外情况如下 信息: Method not found: 'Void Microsoft.EntityFrameworkCore.Query.ExpressionTranslators.Internal.EndsWithTranslator..ctor()'. 堆栈跟踪: at MySQL.Data.Entity.MySQLCompositeMethodCallTranslator..ctor(ILogger`1 logger) --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitConstructor(ConstructorCallSite constructorCallSite,ServiceProvider provider) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitScoped(ScopedCallSite scopedCallSite,ServiceProvider provider) at Microsoft.Extensions.DependencyInjection.ServiceProvider.<>c__DisplayClass16_0.<RealizeService>b__0(ServiceProvider provider) at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService(IServiceProvider provider,Type serviceType) at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService[T](IServiceProvider provider) at Microsoft.EntityFrameworkCore.Infrastructure.RelationalServiceCollectionExtensions.<>c.<AddRelational>b__0_4(IServiceProvider p) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitScoped(ScopedCallSite scopedCallSite,ServiceProvider provider) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitConstructor(ConstructorCallSite constructorCallSite,Type serviceType) at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService[T](IServiceProvider provider) at Microsoft.EntityFrameworkCore.Infrastructure.EntityFrameworkServiceCollectionExtensions.<>c.<AddQuery>b__1_8(IServiceProvider p) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitScoped(ScopedCallSite scopedCallSite,Type serviceType) at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService[T](IServiceProvider provider) at Microsoft.EntityFrameworkCore.Infrastructure.EntityFrameworkServiceCollectionExtensions.<>c.<AddQuery>b__1_4(IServiceProvider p) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitScoped(ScopedCallSite scopedCallSite,Type serviceType) at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService[T](IServiceProvider provider) at Microsoft.EntityFrameworkCore.Infrastructure.EntityFrameworkServiceCollectionExtensions.<>c.<AddQuery>b__1_2(IServiceProvider p) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitScoped(ScopedCallSite scopedCallSite,Type serviceType) at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService[T](IServiceProvider provider) at Microsoft.EntityFrameworkCore.Infrastructure.EntityFrameworkServiceCollectionExtensions.<>c.<AddEntityFramework>b__0_10(IServiceProvider p) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitScoped(ScopedCallSite scopedCallSite,ServiceProvider provider) at Microsoft.Extensions.DependencyInjection.ServiceProvider.<>c__DisplayClass16_0.<RealizeService>b__0(ServiceProvider provider) at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetService[T](IServiceProvider provider) at Microsoft.EntityFrameworkCore.Infrastructure.AccessorExtensions.GetService[TService](IInfrastructure`1 accessor) at Microsoft.EntityFrameworkCore.DbContext.get_QueryProvider() at Microsoft.EntityFrameworkCore.Internal.InternalDbSet`1.<.ctor>b__3_0() at Microsoft.EntityFrameworkCore.Internal.LazyRef`1.get_Value() at Microsoft.EntityFrameworkCore.Internal.InternalDbSet`1.System.Linq.IQueryable.get_Provider() at System.Linq.Queryable.Where[TSource](IQueryable`1 source,Expression`1 predicate) at DesignService.Service.Concrete.ChatService.GetMessages(String chatHash,Int32 count) in D:DesignServicesrcDesignServiceServiceConcreteChatService.cs:line 23 我的project.json看起来像这样 { "title": "DesingService","version": "1.0.0-*","runtimes": { "win81-x64": {},"win10-x64": {},"ubuntu.16.04-x64": {} },"buildOptions": { "emitEntryPoint": true,"optimize": true,"debugType": "portable","define": ["USE_MySQL"],"copyToOutput": { "includeFiles": ["Settings.json"] } },"dependencies": { "MailKit": "1.10.0","Microsoft.AspNetCore.Hosting": "1.1.0-preview1-final","Microsoft.AspNetCore.Http.Abstractions": "1.1.0-preview1-final","Microsoft.AspNetCore.Server.Kestrel": "1.1.0-preview1-final","Microsoft.EntityFrameworkCore": "1.1.0-preview1-final","Microsoft.EntityFrameworkCore.Design": "1.1.0-preview1-final","Microsoft.EntityFrameworkCore.SqlServer": "1.1.0-preview1-final","Microsoft.EntityFrameworkCore.Tools": "1.0.0-preview3-final","Microsoft.NETCore.App": "1.1.0-preview1-001100-00","Newtonsoft.Json": "9.0.2-beta1","SapientGuardian.EntityFrameworkCore.MySql": "7.1.10" },"tools": { "Microsoft.EntityFrameworkCore.Tools.DotNet": "1.0.0-preview3-final" },"frameworks": { "netcoreapp1.0": { "imports": "dnxcore50" } } } 虽然,我试图使用官方提供程序MySql.Data.EntityFrameworkCore,它给出了相同的结果. 代码使用MS SQL服务器进行了测试,运行正常. 也许你可以提出一些建议或建议? 提前致谢, 解决方法
问题与sql提供程序有关.它已在当前版本中修复.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |