0

ショッピングカートから注文リストを追加しようとしています。

http://www.asp.net/mvc/tutorials/mvc-music-store/mvc-music-store-part-9と同様にこれを行っています

db.saveChanges() に「エントリの更新中にエラーが発生しました。詳細については、内部例外を参照してください。

注文を見ると、orderId は「0」です。これで問題ありますか?

私はあなたにいくつかのコードを与えています。

アイデアを教えていただけますか?

ありがとう。

//Order.cs
public class Order
{
    rentalDB db = new rentalDB();

    [Key] public int orderId { get; set; }
    public int customerId { get; set; }
    public DateTime orderDate { get; set; }
    public int rentalPeriod { get; set; }
    public DateTime startDate { get; set; }
    public decimal total { get; set; }
    public virtual Customer Customer { get; set; }
    public List<OrderDetails> OrderDetails { get; set; }
}

そしてこちらがコントローラー。

//AccountController.cs

[Authorize]
    public ActionResult Order()
    {
        var order = new Order();
        TryUpdateModel(order);

        string customerName = User.Identity.Name;
        if (customerName == "")
        {
            return RedirectToAction("LogOn", "Account");
        }
        int customerId = (from a in db.Customer
                          where a.userName == customerName
                          select a.customerId).Single();
        order.customerId = customerId;

        db.Order.Add(order);
        //I added orderDate and startDate, then it is saving now.
        order.orderDate = System.DateTime.Now;
        order.startDate = System.DateTime.Now.AddDays(2);
        db.SaveChanges();

        var cart = ShoppingCart.GetCart(this.HttpContext);
        cart.CreateOrder(order);


        return View(order);
    }
4

1 に答える 1

0

私の問題は、orderDate と startDate について言及しなかったことです。

その後、エラーが発生しました。

私が日付を宣言したとき、それは今働いています。

于 2012-04-16T18:36:25.273 に答える