Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在创建视图ASP.Net MVC中将数据插入多个表_C#_Entity Framework_Asp.net Mvc 4_Partial Views - Fatal编程技术网

C# 在创建视图ASP.Net MVC中将数据插入多个表

C# 在创建视图ASP.Net MVC中将数据插入多个表,c#,entity-framework,asp.net-mvc-4,partial-views,C#,Entity Framework,Asp.net Mvc 4,Partial Views,我试图在创建视图中向两个表插入数据。我有一个表User和另一个表WorkingHours。WorkingHours表定义了每个User每周的工作时间。我希望能够在添加用户的同时添加用户的工作时间,因此它必须是相同的视图。我一直在浏览如何实现这一点的示例,主要是使用PartialViews 我随后将数据插入Users和WorkingHours表中 这些是每个表的类(我在这里首先处理模型): 用户 namespace Common { using System; using Syst

我试图在
创建视图中向两个表插入数据。我有一个表
User
和另一个表
WorkingHours
WorkingHours
表定义了每个
User
每周的工作时间。我希望能够在添加用户的同时添加用户的
工作时间
,因此它必须是相同的
视图
。我一直在浏览如何实现这一点的示例,主要是使用
PartialViews

我随后将数据插入
Users
WorkingHours
表中

这些是每个表的类(我在这里首先处理模型):

用户

namespace Common
{
    using System;
    using System.Collections.Generic;

    public partial class User
    {
        public User()
        {
            this.WorkingHours = new HashSet<WorkingHours>();
        }

        public int ID { get; set; }
        public string Name { get; set; }
        public string Surname { get; set; }
        public string Email { get; set; }
        public string Password { get; set; }

        public virtual ICollection<WorkingDay> WorkingDays { get; set; }
    }
}

并在
用户
构造函数中填充
工作时间
列表。

将partial的模型更改为
用户
,并按如下方式呈现编辑器:

@Html.EditorFor(model => model.WorkingHours.HoursFrom)

我通过在
Create
方法中将
User
对象传递给
视图
解决了这个问题

public ActionResult Create()
{
    User u = new Common.User();
    return View(u);
}
public ActionResult Create()
{
    User u = new Common.User();
    return View(u);
}
我正在填充
用户
构造函数中的
工作时间
列表:

// Monday to Friday (0 to 4 - using an enum: DaysEnum), default hours 08:00 to 17:00
for (int i = 0; i < 5; i++)
{
    this.WorkingHours.Add(new WorkingHour
    {
        WeekDay = i,
        HoursFrom = 8,
        HoursTo = 17
    });
}
//周一到周五(0到4-使用枚举:DaysEnum),默认时间为08:00到17:00
对于(int i=0;i<5;i++)
{
此.WorkingHours.Add(新工作小时
{
工作日=我,
小时自=8,
小时到=17
});
}

在这种情况下,这是有意义的,因为列表每天都有默认值。

您可以发布生成的HTML以及您的操作吗?请注意,在两个局部视图中,您都导入相同的js库,您不应该这样做,因为
WorkingHours
被设置为
User
类中的一个列表,我无法访问
WorkingHours
属性。如果没有部分设置,请执行表单。然后我们将讨论将工作时间提取到partialYep中,这就是我所做的:)也发布了一个答案
public ActionResult Create()
{
    User u = new Common.User();
    return View(u);
}
@Html.EditorFor(model => model.WorkingHours.HoursFrom)
public ActionResult Create()
{
    User u = new Common.User();
    return View(u);
}
// Monday to Friday (0 to 4 - using an enum: DaysEnum), default hours 08:00 to 17:00
for (int i = 0; i < 5; i++)
{
    this.WorkingHours.Add(new WorkingHour
    {
        WeekDay = i,
        HoursFrom = 8,
        HoursTo = 17
    });
}