如何使用一个类(类的列表)作为数据库与创建/索引操作使用MVC5
本文关键字:创建 索引 MVC5 数据库 操作 何使用 一个 列表 | 更新日期: 2023-09-27 18:09:52
我目前在一个MVC5项目与数据库,我卡住了。我尝试了很多的东西,但没有一个是我想要的。我有一个类(其中字段是其他两个类的两个列表),我想用它来识别当前的UserName
(向下滚动以查看类),然后使用IconModel
和WindowModel
的特定列表。
我需要什么:我有两个类:
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> Windows
和DbSet<IconModel>
),但这没有正常工作。
使用for循环,数据自动序列化。
@for(int i = 0; i< x.Windows.Count(); i++)
{
@Html.EditorFor(x => x.Windows[i].Picture)
}