Сначала я должен сохранить первичный ключ от 1-й таблицы до 2-й таблицы в базе данных сущностей MVC. внешний ключ в MVC - PullRequest
0 голосов
/ 14 января 2019

Я попытался Tempdata, объявлен глобально и сеанс с использованием MVC с структурой сущности 6 дБ первый подход

public class CustomerModel
{
    //i have to pass or store cusid to paymentModel

    public int Cusid { get; set; }
    [Required(ErrorMessage = "Enter username")]
    public string Cusname { get; set; }
    [Required(ErrorMessage = "Enter Phone")]
    public string Cusphone { get; set; }
    [Required(ErrorMessage = "Enter Address")]
    public string Cusaddress { get; set; }
    [Required(ErrorMessage = "select gender")]
    public Nullable<int> Gid { get; set; }
    //[Required(ErrorMessage = "Enter UID number")]
    public string Cusaadhar { get; set; }


}


    public class PaymentModel
{
    public int Id { get; set; }
    [Required(ErrorMessage ="select Brand")]
    public Nullable<int> Brandid { get; set; }
    [Required(ErrorMessage = "Enter Model")]
    public string Model { get; set; }
    [Required(ErrorMessage = "Enter Product")]
    public string Product { get; set; }
    [Required(ErrorMessage = "Enter IMEI number")]
    public string Imei { get; set; }
    [Required(ErrorMessage = "Enter Amount")]
    public string Amount { get; set; }
    [Required(ErrorMessage = "Enter Discount")]
    public string Discount { get; set; }
    [Required(ErrorMessage ="select date")]
    public Nullable<System.DateTime> Paymentdate { get; set; }
    public Nullable<int> Mid { get; set; }
    public Nullable<int> Cusid { get; set; }
    public Nullable<int> Empid { get; set; }
    public Nullable<int> CusMid { get; set; }

}

Это мой контроллер ..

       public ActionResult CustomerSave(CustomerModel CusModel)
    {
          db_mobilestoreEntities2 ent = new db_mobilestoreEntities2();
          tbl_Customer cus = new tbl_Customer();

            cus.Cusname = CusModel.Cusname;
            cus.Cusphone = CusModel.Cusphone;
            cus.Cusaddress = CusModel.Cusaddress;
            cus.Gid = CusModel.Gid;
             cus.Cusaadhar = CusModel.Cusaadhar;

            ent.tbl_Customer.Add(cus);
            ent.SaveChanges();

// Этот последний сохраненный последний раз я должен сохранить этот последний в другой таблице или другом действии.

        int latestid = cus.Cusid;
        TempData["cusid"] = latestid;

        return RedirectToAction("PaySave");
    }

        public ActionResult PaySave(PaymentModel Pmodel)
     {
       db_mobilestoreEntities2 ent = new db_mobilestoreEntities2();

       tbl_Payment pay = new tbl_Payment();
        pay.Brandid = Pmodel.Brandid;
        pay.Model = Pmodel.Model;
        pay.Product = Pmodel.Product;
        pay.Imei = Pmodel.Imei;
        pay.Amount = Pmodel.Amount;
        pay.Discount = Pmodel.Discount;
        pay.Paymentdate = DateTime.Now;
        pay.Cusid=??
        pay.CusMid = Pmodel.CusMid;
        pay.Mid = Pmodel.Mid;

        ent.tbl_Payment.Add(pay);
        ent.SaveChanges();
        int latestid = pay.Id;
        return RedirectToAction("Details");
    }

T имеет две таблицы.

1-ый номер клиента

2-е место - tbl_paysave

Я должен сохранить customerid (первичный ключ) до tbl_paysave (иностранный ключ, т.е. Cusid) после отправки 1-й страницы, перенаправленной на 2-ю страницу, т.е. Paysave

1 Ответ

0 голосов
/ 14 января 2019

Вы можете отправить значение параметра, как показано ниже

Чтобы получить идентификатор вставленного мастера или заголовка

int headerId = 0;
_db.ProductMasters.Add(objProdmst);
_db.SaveChanges();
headerId = objProdmst.HeaderId;

Теперь в вашем перенаправлении попробуйте с

return RedirectToAction("Index", "SavePayDetails", new { iHeaderId : headerId})

Таким образом, вы можете выполнять дальнейшие действия, т.е. Save или Update.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...