5
我正在玩linux上的dotnet核心,我正在嘗試使用連接字符串配置我的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"
},
我也試着使用mysql服務器在我Startup.cs下面的代碼
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 Microsoft.EntityFrameworkCore;
到
using MySQL.Data.EntityFrameworkCore;
這是合理的?也許?但是然後所有對DbContext和DbSet的引用都消失了,所以我想這個解決方案是混合的。
你是怎麼知道MySQL.Data.EntityFrameworkCore.Extensions是你必須使用的確切的「使用語句」? – DenLilleMand
嘿,Oracle沒有辦法將它們的代碼放在'Microsoft。*'命名空間:) –
@IvanStoev:它不是任何特定於框架的代碼,只是用於注入/註冊Mysql提供程序的擴展方法,所以就是Microsoft。 Extension.DependencyInjection'完全適用於它,因爲代碼對於在(ASP).NET Core – Tseng