0

現在、イベントタイプのリストを処理するために Jtable を使用していますが、テーブルを介して削除しようとするたびに、「値を null にすることはできません。パラメータ名: エンティティ」というエラーが表示されます。

    [HttpPost]
    public JsonResult DeleteEventType(EventType eventType)
    {
        using (var db = new ICTTBEntities())
        {
            try
            {
                var newObj = db.EventTypes.SingleOrDefault(e => e.EventTypeID == eventType.EventTypeID);
                if (newObj != null)
                {
                    db.EventTypes.Remove(newObj);
                    db.SaveChanges();
                    return Json(new { Result = "OK" });
                }
                return Json(new { Result = "ERROR", Message = "eventType is null" });
            }
            catch (Exception ex)
            {
                return Json(new { Result = "ERROR", Message = ex.Message });
            }
        }
    }

何かアドバイス?

4

1 に答える 1

0

別の ICTTBEntities コンテキストを介して eventType を取得するため、新しいコンテキストでそれが見つからない可能性があります。

Id を介して新しいコンテキストから eventType を取得してみてください。

また、オブジェクトを削除した後、コンテキストで SaveChanges を呼び出すことを忘れないでください。

使用する

var newObj = db.EventTypes.Single( e => e.Id == eventType.Id);
db.EventTypes.Remove(newObj);
db.SaveChanges();
于 2013-03-29T15:58:12.270 に答える