Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Asp.Net MVC - Chèn nhiều hàng trong Cơ sở dữ liệu

Nếu tôi hiểu, bạn chính xác, bạn có một danh sách các Thuộc tính trong Mô hình Chế độ xem của mình.

Vì vậy, nếu bạn muốn làm việc với nó, bạn nên đưa nó vào danh sách.

Vì vậy, bạn nên thay đổi Mô hình Chế độ xem của mình:

//I put all properties of your list to separate model
public class AttriduteViewModel
{
    public int ProductColorVariantId { get; set; }
    public int ProductSizeVariantId { get; set; }
    public int ProductSizeVariantValueId { get; set; }
    public int ProductAttributeId { get; set; }
    public int ProductAttributeValueId { get; set; }
    public int? Quantity { get; set; }
}

public class ProductAttributesViewModel
{
    public Product Product { get; set; }
    public ProductAttribute ProductAttribute { get; set; }
    public ProductAttributeValue ProductAttributeValue { get; set; }
    public int ProductId { get; set; }
    public string Name { get; set; }
    [AllowHtml]
    public string Description { get; set; }
    public decimal? Price { get; set; }
    public string Sizes { get; set; }
    public int Stock { get; set; }
    //note this line
    public List<AttriduteViewModel> AdditionalAttridutes {get; set;}
}

Về cơ bản là tất cả. Bây giờ bạn chỉ nên tạo ràng buộc phù hợp cho AdditionalAttridutes của mình . Nó sẽ dễ dàng hơn để thực hiện nó với HtmlHelpers như Html.DropDownListFor , Html.HiddenForHtml.TextBoxFor . Tôi không thể nhìn thấy nó trong Chế độ xem của bạn.

Vấn đề là nếu bạn tạo input của mình với Người trợ giúp, họ sẽ nhận được đúng name Thuộc tính và mô hình của bạn sẽ liên kết chính xác trên POST .

Một điều khác mà bạn sẽ phải đối mặt là tạo động các Mục mới như trong ví dụ của bạn. Bạn nên nghĩ về thuộc tính tên bên phải. Tôi khuyên bạn nên kiểm tra câu trả lời tuyệt vời này về vấn đề đó.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. tính tổng của tất cả các số liệu trong một cột

  2. Đặt lại mật khẩu gốc MySQL khi không xác định được mật khẩu hiện tại

  3. MYSQL:Giống như Phương pháp, Các từ Tương tự - Nhưng Không Hiển thị Từ đã Tìm kiếm

  4. Nhóm, Sắp xếp và Đếm trong một truy vấn

  5. Chèn dữ liệu đã chọn vào cơ sở dữ liệu