Как сделать единую форму, которая будет отправлять данные в несколько таблиц на сервере Microsoft SQL? ASP.Net - PullRequest
0 голосов
/ 16 мая 2019

Я создал отношения один к одному между этими двумя таблицами Model.User и Model.Company на сервере SQL с помощью переноса модели в ASP.net core MVC.Я не знаю, как вставить данные в эти две таблицы, используя этот единственный View.User

public class User
{
    [Key]
    [Display(Name = "User ID")]
    [DataType(DataType.EmailAddress)]
    public string UserID { get; set; }

    public string UserName { get; set; }

    [Display(Name = "Phone Number")]
    [DataType(DataType.PhoneNumber)]
    public string PhoneNumber { get; set; }

    [DataType(DataType.Password)]
    [MinLength(6, ErrorMessage = "Minimum 6 characters required")]
    public string Password { get; set; }

    public virtual Company Company { get; set; }
}



public class Company
{
    [ForeignKey("User")]
    [Display(Name = "Company ID")]
    [Required(AllowEmptyStrings = false, ErrorMessage = "Company number required")]
    public string CompanyID { get; set; }

    [Display(Name = "Company Name")]
    [Required(AllowEmptyStrings = false, ErrorMessage = "Company name required")]
    public string CompanyName { get; set; }

    [Display(Name = "Company Address")]
    [Required(AllowEmptyStrings = false, ErrorMessage = "Company address required")]
    public string CompanyAddress { get; set; }

    public virtual User User { get; set; }
}

public IActionResult Create()
    {
        return View();
    }

    // POST: Users/Create
    // To protect from overposting attacks, please enable the specific properties you want to bind to, for 
    // more details see http://go.microsoft.com/fwlink/?LinkId=317598.
    [HttpPost]
    [ValidateAntiForgeryToken]
    public async Task<IActionResult> Create([Bind("UserID,UserName,PhoneNumber,Password,CompanyID,CompanyName,CompanyAddress")] User user)
    {
        if (ModelState.IsValid)
        {
            _context.Add(user);
            await _context.SaveChangesAsync();
            return RedirectToAction(nameof(Index));
        }
        return View(user);
    }

1 Ответ

0 голосов
/ 16 мая 2019

Прежде всего создайте пользовательскую модель, которая будет содержать обе модели. Как

public class mainModel
{
   public User userModel{get; set;}
   public Company companyModel{get; set;}
}

и после этого объявите эту модель в вашем представлении, чтобы вы могли использовать обе модели, используя mainModel в вашем представлении.

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