ショッピングカートから注文リストを追加しようとしています。
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);
}