私はLinux上でdotnet coreを使用しています.DbContextをmysqlサーバへの接続文字列で設定しようとしています。DbContextOptionsでUseMysqlメソッドを見つけることができません
私DbContextはそうのようになります。
using Microsoft.EntityFrameworkCore;
using Models.Entities;
namespace Models {
public class SomeContext : DbContext
{
//alot of dbSets...
public DbSet<SomeEntity> SomeDbSet { get; set; }
public EsportshubContext(DbContextOptions<SomeContext> options) : base(options) {
}
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseMysql //Cannot find this method
}
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
//using modelBuilder to map some relationships
}
}
}
私の依存関係はそうのようになります。
"dependencies": {
"Microsoft.NETCore.App": {
"version": "1.0.0",
"type": "platform"
},
"Microsoft.AspNetCore.Diagnostics": "1.0.0",
"Microsoft.AspNetCore.Server.IISIntegration": "1.0.0",
"Microsoft.AspNetCore.Server.Kestrel": "1.0.1",
"Microsoft.Extensions.Logging.Console": "1.0.0",
"Microsoft.Extensions.Configuration.EnvironmentVariables": "1.0.0",
"Microsoft.Extensions.Configuration.FileExtensions": "1.0.0",
"Microsoft.Extensions.Configuration.Json": "1.0.0",
"Microsoft.Extensions.Configuration.CommandLine": "1.0.0",
"Microsoft.AspNetCore.Mvc":"1.0.0",
"Microsoft.EntityFrameworkCore": "1.0.1",
"MySql.Data.Core": "7.0.4-ir-191",
"MySql.Data.EntityFrameworkCore": "7.0.4-ir-191"
},
は、私はまた、次のコードでは、私のStartup.csでMySQLサーバーを使用しようとした
public class Startup
{
public void ConfigureServices(IServiceCollection services)
{
var connection = @"Server=(localdb)\mssqllocaldb;Database=EFGetStarted.AspNetCore.NewDb;Trusted_Connection=True;";
services.AddDbContext<EsportshubContext>(options => options.UseMysql); //Cannot find UseMysql*
}
私の指示を
から変更しようとしました理にかなってusing MySQL.Data.EntityFrameworkCore;
から210
using Microsoft.EntityFrameworkCore;
?多分?しかし、DbContextとDbSetへの参照はすべて消えてしまったので、解決策はさまざまなものがあると思います??
MySQL.Data.EntityFrameworkCore.Extensionsは、使用したのとまったく同じ "使用している文"でした。 – DenLilleMand
ちょっと、オラクルが 'Microsoft。*'名前空間の下にコードを置く方法はありません。 –
@IvanStoev:これはフレームワーク固有のコードではなく、Mysqlプロバイダをインジェクト/登録するための拡張メソッドです。 Extension.DependencyInjection'は、(ASP).NETコアに導入された依存性注入に対して**非常に具体的な**ため、完全に適しています。 – Tseng