vendredi 17 juin 2016

IList dataset insert to database table

I'm getting data set to POST action method's model object like following

enter image description here

Once I expand above object , it has following properties

enter image description here

Once I expand above ListProductFields IList , it has following properties

enter image description here

Once I expand above ListProductFields IList's object values , [0]th value it has following properties and its values

enter image description here

this is the relevant model class files

public class AddNewProduct
{
    public string Product_ID { get; set; }
    public string ProductTypeID { get; set; }
    public string ProductCategoryID { get; set; }
    public string Subsidary_ID { get; set; }
    public string Field_ID { get; set; }
    public string ProductFieldNameEn { get; set; }
    public string ProductFieldNameAr { get; set; }
    public string ApprovalStatus { get; set; }
    public string Status { get; set; }
    public IList<AB_ProductTypeCategoryField> ListProductFields { get; set; }
}

public partial class AB_ProductTypeCategoryField
{
    public string ProductFieldID { get; set; }
    public string ProductFieldNameEn { get; set; }
    public string ProductFieldNameAr { get; set; }
    public string ProdcutFieldDiscriptionEn { get; set; }
    public string ProductFieldDiscriptionAr { get; set; }
    public string Status { get; set; }
    public bool IsChecked { get; set; }
    public string CreatedBy { get; set; }
    public Nullable<System.DateTime> CreatedDate { get; set; }
    public string UpdatedBy { get; set; }
    public Nullable<System.DateTime> UpdatedDate { get; set; }

    public string Field_Value_EN { get; set; }
    public string Field_Value_AR { get; set; }
}

public partial class AB_Product_vs_Field
{
    public string Product_ID { get; set; }
    public string Field_ID { get; set; }
    public string Field_Value_EN { get; set; }
}

I have database table call AB_Product_vs_Field and I want to insert ,

ProductFieldID ,Field_ID , Field_Value_EN from those values from last image

since these are 19 objects have to insert to the AB_Product_vs_Field database table I may have to use a loop .

so I created following linq query to insert data to that table

    [HttpPost]
    [ValidateInput(false)]
    public ActionResult Add_Product(AddNewProduct product)
    {
        AB_Product_vs_Field insertproductvalue = new AB_Product_vs_Field();

        if (ModelState.IsValid)
        {
            for (int i = 0; i < product.ListProductFields.Count; i++)
            {
                insertproductvalue.Product_ID = product.Product_ID;
                insertproductvalue.Field_ID = product.ListProductFields[i].ProductFieldID;
                insertproductvalue.Field_Value_EN = product.ListProductFields[i].Field_Value_EN;
            };

            db.AB_Product_vs_Field.Add(insertproductvalue);
            db.SaveChanges();
        }

    }

but I'm getting following error

Validation failed for one or more entities. See 'EntityValidationErrors' property for more details.

I put debug point in front of this line db.AB_Product_vs_Field.Add(insertproductvalue); of my code.once this line calling its directing to following section in App_Browsers.9u0xu-_o.0.cs file

public class ApplicationBrowserCapabilitiesFactory : System.Web.Configuration.BrowserCapabilitiesFactory {

    public override void ConfigureCustomCapabilities(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
    }

this is the error page I'm getting once this line called

enter image description here

these are the images of error

Image 1:

enter image description here

Image 2:

enter image description here

Aucun commentaire:

Enregistrer un commentaire