私は、ASP.NET CoreプロジェクトをMicrosoft SQL ServerからMySQLに移行する作業を進めており、MySQL DBプロバイダがリリースされました(「プレリリース」)。私は、SQL Serverを使用しているときにメンバーシップにコアIDを使用していました。ASP.NETコアIDをSQL ServerからMySQLに移行する際の問題
CLRタイプのマッピングが見つかりませんでした。(MySQL Workbenchの移行ウィザードを使用して)MySQLに移行したとき、私はこのエラーを受け取りました。 CreateAsyncメソッドを実行するときに 'Microsoft.EntityFrameworkCore.Metadata.Internal.Property'
エラーは、このコードで提供されます:ここで
public IActionResult Register([FromBody]RegisterViewModel obj)
{
if (ModelState.IsValid)
{
IdentityUser user = new IdentityUser();
user.UserName = obj.Username;
user.Email = obj.Email;
IdentityResult result = _userManager.CreateAsync(user, obj.Password).Result;
}
}
は私のDbContextクラスです:
using Microsoft.AspNetCore.Identity.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore;
namespace PilotMaltApiCore.Models
{
public class PilotDbContext : IdentityDbContext<IdentityUser, IdentityRole, string>
{
public PilotDbContext(DbContextOptions<PilotDbContext> options)
: base(options)
{
//nothing here
}
public DbSet<Batch> Batches { get; set; }
public DbSet<Bag> Bags { get; set; }
public DbSet<Vendor> Vendors { get; set; }
public DbSet<Variety> Varieties { get; set; }
}
}
私は、SQL ServerとMySQLの間のデータ型の違いと関係があると考えていました。ここでは、SQL Serverのテーブルには、次のとおりです。
そしてここでは、MySQLのテーブルは、MySQL Workbenchで移行ウィザードを使用した後です:
コードのすべてのSQLを使用した場合うまく働いた、覚えておいてくださいサーバ。あなたの助けに感謝します、ありがとう!