2017-08-11 8 views
0

私はasp.net mvcコアWebアプリケーションをデフォルトのモデルクラスとSQLiteをDBとして使用しています。 [OK]を行くほとんどのユーザーを削除asp.net mvcコアでユーザーを削除する際の奇妙な例外

var user = await _dbContext.Users.SingleOrDefaultAsync(s => s.Id == id); 
try 
{ 
    await _userManager.DeleteAsync(user); 
} 
catch (Exception) 
{ 
} 

が、一部のユーザーのために、私は次のように、さまざまな例外を得た: は、私は、次のコードにより、ユーザーを削除していたユーザが削除されないような場合にはSystem.ObjectDisposedExceptionSystem.InvalidOperationException: 'BeginTransaction can only be called when the connection is open.'。なぜ、同じコードが違うユーザーのために奇妙に機能するのでしょうか?私はエラーを得た - 私は、座標を持っている、ユーザーを削除しようとしていた場合、だから、

public class Coordinate 
{ 
    public int ID { get; set; } 
    public double Lat { get; set; } 
    public double Lon { get; set; } 

    [JsonIgnore] 
    public ApplicationUser User { get; set; } 
} 

答えて

0

問題は、私はまた、DBに格納されたクラスを持っているということでした。 まずユーザーの座標を削除する必要があります。

  var coordinates = _dbContext.Coordinates.Where(x => x.User == user).ToList(); 
      _dbContext.Coordinates.RemoveRange(coordinates); 
関連する問題