0

我是 C#、SQL 和 ASP.NET MVC 世界的新手。我必须写入以下 SQL 表(不能使用 SQL 必须使用 C# 和 MVC):

读写

Group
-----------------
id -- identity
name -- varchar

GroupCompanies
----------------
groupId -- fk link to Group.id
companyId -- fk link to Company.id

GroupSoftware
---------------
groupId -- fk link to Group.id
softwareId -- fk link to Software.id
companyId -- fk link to Company.id

有单独的只读表,其中数据来源以制作上述复合表(“GroupCompanies”和“GroupSoftware”):

只读

Companies
-----------------
id -- identity
name -- varchar

Software
-----------------
id -- identity
name -- varchar

在名为“创建”的页面上,我正在处理,我在视图中有三个字段

- 名称//需要写入 Group.ID。然后必须与软件和公司配对。

- Companies //需要通过将选定的 Company.ID 与上面创建的名称的 ID 配对来写入 GroupCompanies。

- 软件//需要通过将选定的 Company.ID、上述创建的名称与 Software.ID 配对来写入 GroupSoftware。

我需要写一个新组的名称,将其发送到“组”表。这没什么大不了的。我可以成功地完成这项工作。

其他两个字段(“公司”和“软件”)是下拉列表。我需要将“公司”值(它们是字符串格式的 ID,因此需要在发布时将它们转换为整数)与“软件”值(也作为字符串的 ID)和发布时新创建的组配对。

现在事情是这样的:如何在发布字段时将值字符串作为映射到正确对象的整数捕获,然后一次将它们写入三个表?由于“GroupSoftware”表依赖于“GroupCompanies”和“Groups”,而“GroupCompanies”依赖于“Groups”,所以我需要按此顺序执行命令。此外,我不知道如何使用 C# 和 ASP.NET MVC 在需要来自其他表的 ID 的表上进行编写。

如果有人可以提供帮助,将不胜感激!

PS:记住,我是新人,我是个白痴,所以请善待!:D

一些代码供参考:MVC VIEW

@{
ViewBag.Title = "Create a Group";
}
<h2>createGroup</h2>
<fieldset>
   <legend>Group</legend>
@Html.Action("Create")
@Html.Action("softwareList")
@Html.Action("companyList")
<input type ="submit" value="Submit" />
</fieldset>
<div>
@Html.ActionLink("Back to List", "Index")
</div>

需要修改的MVC控制器

[HttpGet]
    public ActionResult softwareList()
    {
        List<SelectListItem> listSelectListItem = new List<SelectListItem>();
        foreach (Software software in db.Software)
        {
            SelectListItem selectListItem = new SelectListItem()
            {
                Text = software.SoftwareName,
                Value = software.SoftwareID.ToString(), //The items in the list have a   string value of SoftwareID.
            };
            listSelectListItem.Add(selectListItem);
        }

        softwareViewModel softwareviewmodel = new softwareViewModel(); //instantiates dummy container
        softwareviewmodel.Applications = listSelectListItem; //the list represent the 'software' in the dummy. A value is a piece of Array.
        return PartialView(softwareviewmodel);//shows the dummy container.
    }

^这是软件下拉列表,“groupcompanies”是一样的,只是用“company”替换“software”。

MVC 模型类

public class softwareViewModel
{
public IEnumerable<SelectListItem> Software { get; set; }
public IEnumerable<string> Selectedsoftware { get; set; }   
}
4

0 回答 0