【发布时间】:2017-02-05 04:06:55
【问题描述】:
您好,我使用的是 SQL Server 2014 我正在使用 ef6 和 mvc5 每次我尝试保存订单时,整个数据库都会重复,请帮忙 订单控制器如下 我查看了 jquery.unobtrusive-ajax 我认为它已被使用过 并且项目中没有返回部分视图
public class OrderController : Controller
{
// GET: Order
[HttpGet]
public ActionResult Index()
{
return View(new Order());
}
[HttpPost]
[ValidateInput(true)]
public ActionResult Index(Order Order)
{
try
{
//OrderValidator validator = new OrderValidator();
var upload = Request.Files["ticketFile"];
if (ModelState.IsValid)//&& validator.Validate(Order).IsValid)
{
using (SaliceContext db = new SaliceContext())
{
//bool isDetached = db.Entry(Order).State == EntityState.Detached;
//if (isDetached)
// db.Orders.Attach(Order);
//db.ProxyCreationEnabled = false;
//db.Entry(Order).State = EntityState.Added;
//db.Entry(Order).State = EntityState.Detached;
Order.OrderNumber = Guid.NewGuid();
db.Orders.Add(Order);
db.SaveChanges();
if (upload != null && upload.ContentLength > 0 && (Path.GetExtension(upload.FileName) == ".pdf" || Path.GetExtension(upload.FileName) == ".docx"))
{
string path = Path.Combine(SaliceConstants.LOI, Order.id.ToString() + Path.GetExtension(upload.FileName));//.Replace("\\", "/");
upload.SaveAs(Server.MapPath(path));
Order.File = path;
db.SaveChanges();
}
db.Dispose();
}
return RedirectToAction("SaleConfirmed", "Order", new { orderNumber = Order.OrderNumber });
//return "Order Saved your comfirmation key: " + Order.OrderNumber;
}
}
catch(Exception ex)
{
ViewBag.Error = "An error happend"; return RedirectToAction("Error","Error");
//return "An error happend";
}
return View(new Order());//"An error happend";
}
public ActionResult SaleConfirmed(Guid orderNumber)
{
try
{
ViewBag.Number = orderNumber;
return View();
}
catch
{
ViewBag.Error = "An error happend"; return RedirectToAction("Error", "Error");
}
return View();
}
}
实体
public class Order
{
public Order()
{
using (SaliceContext db = new SaliceContext())
{
this.Ports = db.Ports.ToList();
this.PaymentTypes = db.PaymentTypes.ToList();
this.Products = db.Products.ToList();
this.Grades = db.Grades.ToList();
this.Packings = db.Packings.ToList();
this.Inspections = db.Inspections.ToList();
this.OrderNumber = new Guid();
db.Dispose();
}
}
[Key]
public int id { get; set; }
public Guid OrderNumber { get; set; }
[LocalDisplayName("Name")]
[Required(ErrorMessage = "*")]
[MaxLength(25, ErrorMessageResourceName = "MaxLength",
ErrorMessageResourceType = typeof(ValidationMessages))]
public string Name { get; set; }
[LocalDisplayName("LastName")]
[Required(ErrorMessage = "*")]
//[Required(ErrorMessageResourceName = "Required",
// ErrorMessageResourceType = typeof(ValidationMessages))]
[MaxLength(25, ErrorMessageResourceName = "MaxLength",
ErrorMessageResourceType = typeof(ValidationMessages))]
public string LastName { get; set; }
[LocalDisplayName("Compay")]
[Required(ErrorMessage = "*")]
//[Required(ErrorMessageResourceName = "Required",
// ErrorMessageResourceType = typeof(ValidationMessages))]
[MaxLength(25, ErrorMessageResourceName = "MaxLength",
ErrorMessageResourceType = typeof(ValidationMessages))]
public string Company { get; set; }
[LocalDisplayName("Position")]
[Required(ErrorMessage = "*")]
//[Required(ErrorMessageResourceName = "Required",
// ErrorMessageResourceType = typeof(ValidationMessages))]
[MaxLength(25, ErrorMessageResourceName = "MaxLength",
ErrorMessageResourceType = typeof(ValidationMessages))]
public string Position { get; set; }
[LocalDisplayName("Country")]
[Required(ErrorMessage = "*")]
//[Required(ErrorMessageResourceName = "Required",
// ErrorMessageResourceType = typeof(ValidationMessages))]
[MaxLength(25, ErrorMessageResourceName = "MaxLength",
ErrorMessageResourceType = typeof(ValidationMessages))]
public string Country { get; set; }
[LocalDisplayName("City")]
[Required(ErrorMessage = "*")]
//[Required(ErrorMessageResourceName = "Required",
// ErrorMessageResourceType = typeof(ValidationMessages))]
[MaxLength(25, ErrorMessageResourceName = "MaxLength",
ErrorMessageResourceType = typeof(ValidationMessages))]
public string City { get; set; }
[LocalDisplayName("ContactNo")]
[Required(ErrorMessage = "*")]
//[Required(ErrorMessageResourceName = "Required",
// ErrorMessageResourceType = typeof(ValidationMessages))]
[MaxLength(25, ErrorMessageResourceName = "MaxLength",
ErrorMessageResourceType = typeof(ValidationMessages))]
public string ContactNo { get; set; }
[Display(Name = "Email address")]
[Required(ErrorMessage = "*")]
//[Required(ErrorMessage = "The email address is required")]
[EmailAddress(ErrorMessage = "Invalid Email Address")]
public string Email { get; set; }
[LocalDisplayName("PortName")]
//[Required(ErrorMessage = "*")]
//[Required(ErrorMessageResourceName = "Required",
// ErrorMessageResourceType = typeof(ValidationMessages))]
//[MaxLength(25, ErrorMessageResourceName = "MaxLength",
// ErrorMessageResourceType = typeof(ValidationMessages))]
public string PortName { get; set; }
[LocalDisplayName("PortValue")]
//[Required(ErrorMessage = "*")]
//[Required(ErrorMessageResourceName = "Required",
// ErrorMessageResourceType = typeof(ValidationMessages))]
//[MaxLength(25, ErrorMessageResourceName = "MaxLength",
// ErrorMessageResourceType = typeof(ValidationMessages))]
public string PortValue { get; set; }
[LocalDisplayName("PortId")]
[Required(ErrorMessage = "*")]
//[Required(ErrorMessageResourceName = "Required",
// ErrorMessageResourceType = typeof(ValidationMessages))]
public int PortId { get; set; }
[LocalDisplayName("PortTypeId")]
[Required(ErrorMessage = "*")]
//[Required(ErrorMessageResourceName = "Required",
// ErrorMessageResourceType = typeof(ValidationMessages))]
public int PortTypeId { get; set; }
public virtual List<Port> Ports { get; set; }
[LocalDisplayName("PaymentTypeId")]
[Required(ErrorMessage = "*")]
//[Required(ErrorMessageResourceName = "Required",
// ErrorMessageResourceType = typeof(ValidationMessages))]
public int PaymentTypeId { get; set; }
public virtual List<PaymentType> PaymentTypes { get; set; }
[LocalDisplayName("Currency")]
[Required(ErrorMessage = "*")]
//[Required(ErrorMessageResourceName = "Required",
// ErrorMessageResourceType = typeof(ValidationMessages))]
[MaxLength(25, ErrorMessageResourceName = "MaxLength",
ErrorMessageResourceType = typeof(ValidationMessages))]
public string Currency { get; set; }
[LocalDisplayName("ProductId")]
[Required(ErrorMessage = "*")]
//[Required(ErrorMessageResourceName = "Required",
// ErrorMessageResourceType = typeof(ValidationMessages))]
public int ProductId { get; set; }
public virtual List<Product> Products { get; set; }
[LocalDisplayName("GradeId")]
[Required(ErrorMessage = "*")]
//[Required(ErrorMessageResourceName = "Required",
// ErrorMessageResourceType = typeof(ValidationMessages))]
public int GradeId { get; set; }
public virtual List<Grade> Grades { get; set;}
[LocalDisplayName("PackingId")]
[Required(ErrorMessage = "*")]
//[Required(ErrorMessageResourceName = "Required",
// ErrorMessageResourceType = typeof(ValidationMessages))]
public int PackingId { get; set; }
public virtual List<Packing> Packings { get; set; }
[LocalDisplayName("Packing")]
//[Required(ErrorMessage = "*")]
//[Required(ErrorMessageResourceName = "Required",
// ErrorMessageResourceType = typeof(ValidationMessages))]
//[MaxLength(25, ErrorMessageResourceName = "MaxLength",
// ErrorMessageResourceType = typeof(ValidationMessages))]
public string Packing { get; set; }
[LocalDisplayName("InspectionId")]
[Required(ErrorMessage = "*")]
//[Required(ErrorMessageResourceName = "Required",
// ErrorMessageResourceType = typeof(ValidationMessages))]
public int InspectionId { get; set; }
public virtual List<Inspection> Inspections { get; set; }
[LocalDisplayName("LOI")]
[Required(ErrorMessage = "*")]
//[Required(ErrorMessageResourceName = "Required",
// ErrorMessageResourceType = typeof(ValidationMessages))]
//[MaxLength(25, ErrorMessageResourceName = "MaxLength",
// ErrorMessageResourceType = typeof(ValidationMessages))]
public string LOI { get; set; }
public string File { get; set; }
}
【问题讨论】:
-
“整个数据库被复制”到底是什么意思?所有表中的所有记录?
-
你也可以展示你的
jquery方法吗? -
是所有表中的所有记录
-
jequery方法是什么
-
这个方法怎么调用?
标签: sql sql-server entity-framework model-view-controller