如何使用一个类(类的列表)作为数据库与创建/索引操作使用MVC5

本文关键字:创建 索引 MVC5 数据库 操作 何使用 一个 列表 | 更新日期: 2023-09-27 18:09:52

我目前在一个MVC5项目与数据库,我卡住了。我尝试了很多的东西,但没有一个是我想要的。我有一个类(其中字段是其他两个类的两个列表),我想用它来识别当前的UserName(向下滚动以查看类),然后使用IconModelWindowModel的特定列表。

我需要什么:我有两个类:

public class WindowModel
{
    [Key]
    public int Id { get; set; }
    public string Picture { get; set; }
    public string Title { get; set; }
    public string Content { get; set; }
    public WindowModel() { }
    public WindowModel(string picture, string title, string content)
    {
        Picture = picture;
        Title = title;
        Content = content;
    }
}

public class IconModel
{
    [Key]
    public int Id { get; set; }
    public int Left { get; set; }
    public int Top { get; set; }
    public string Picture { get; set; }
    public string Text { get; set; }
    public IconModel() { }
    public IconModel(int left, int top, string picture, string text)
    {
        Left = left;
        Top = top;
        Picture = picture;
        Text = text;
    }
}

最后一个类将两者结合起来(用于连接/使用)数据库:

public class DataModel
{
    [Key]
    public int Id { get; set; }
    public string UserName { get; set; }
    public List<WindowModel> Windows { get; set; }
    public List<IconModel> Icons { get; set; }
    public DataModel() { }
    public DataModel(string userName, List<WindowModel> windows, List<IconModel> icons)
    {
        UserName = userName;
        Windows = windows;
        Icons = icons;
    }
}
public class DataDbContext : DbContext
{
    public DbSet<DataModel> Data { get; set; }
}

我有一个控制器与实体框架与创建/索引/编辑/等动作。我的问题是,现在在索引操作中,我可以使用foreach并访问List<WindowModel>List<IconModel>的所有数据。但是我如何在Create Action中使用它们呢?我不能使用@Html.EditorFor(x => x.Windows.Picture),因为它是List<>(当然)。我怎么能现在有编辑器的每一个属性(Windows。图片,窗口。标题等)的WindowModel/IconeModel?

我还尝试创建两个数据库(DbSet<WindowModel> WindowsDbSet<IconModel>),但这没有正常工作。

如何使用一个类(类的列表)作为数据库与创建/索引操作使用MVC5

使用for循环,数据自动序列化。

@for(int i = 0; i< x.Windows.Count(); i++)
{
   @Html.EditorFor(x => x.Windows[i].Picture)
}