SQL ServerデータベースでVisual Studio 2015を使用してシステムを作成しましたが、DBにクエリを実行できますが、変更を保存することはできません。だから私はVisual Studio内のデータベースを作成しました。私は今MySQLワークベンチでデータベースを作成しようとしましたが、同じ問題があります。 My SQL Serverが正しくインストールされているかどうかわからないのでmysqlに切り替えました。私はJavaでプロジェクトに使用していたので、mysqlを正しくインストールしました。 コードの最初のテクニックを使用してデータベースを作成しましたが、これはうまくいきました。何か案は?その後のAppSettings私のレポで私はmysql DBに問い合わせることができますが、変更を保存することはできません
"DataAccessMySqlProvider": "server=localhost;port=3306;database=rentalsdb;userid=root;password=******"
Startup.cs
で
var sqlConnectionString = Configuration.GetConnectionString("DataAccessMySqlProvider");
services.AddMvc();
services.AddDbContext<RentalsDbContext>(options =>
options.UseMySQL(
sqlConnectionString,
b => b.MigrationsAssembly("RentalsRated.Web")));
services.AddDbServiceDependencies(sqlConnectionString);
から 接続文字列
public bool CreateUser(UserAccount user)
{
if (user != null)
{
try
{
_Context.UserAccounts.Add(user);
_Context.Entry(user).State = EntityState.Modified;
_Context.SaveChanges();
return true;
}
catch ....
私は右の変数がここに来て見ることができます。ビジュアルスタジオのサーバーエクスプローラでデータベース全体がうまく動作しました。 ありがとう!
IndexOutOfRangeException:インデックスが配列の境界外にありました。
ザ・スタックトレース:Microsoft.EntityFrameworkCore.Update.ReaderModificationCommandBatch.Execute(IRelationalConnection接続)Microsoft.EntityFrameworkCore.Update.Internal.BatchExecutor.Execute(タプル2 parameters) at Microsoft.EntityFrameworkCore.ChangeTracking.Internal.StateManager.SaveChanges(IReadOnlyList
1 entriesToSave)で ...
UPDATE時: Byte []として渡されているデータをコメントアウトするときに機能します。
にエンティティの状態を変更することにより
2)?例外の詳細とそのスタックトレースを投稿してください。 –
@EugeneKomisarenko上記の編集をご覧ください。ありがとう – deco
エンティティの状態をModifiedとマークしている行をコメントアウトし、Add(ユーザー)の呼び出し直後にSaveChangesを呼び出すとどうなりますか? –