我有3个属性的模型,正如我在前面提到的问题(当然这是一个不同的问题),该模型被称为“东西”,它有3个属性:无法获取要查看的属性
int SomethingID
string Name
List<System.Drawing.Color>
(当然这不是原代码,想节省一些的长度,以节省一些读者)
而且我初始化器是这样的:
protected override void Seed(DatabaseContext context)
{
var somethings = new List<Something>
{
new Something
{
Name="blah blah", Colors= { Color.Black, Color.Red }
}
};
somethings.ForEach(s => context.Somethings.Add(s));
context.SaveChanges();
base.Seed(context);
}
当我尝试在视图内获取这些颜色时,颜色是空的。 如果我在构建somethings
之后在初始化程序中设置了断点,我得到一个名为Colors
的属性,其计数为2(因此没问题,我的对象具有我的ID,名称和颜色)。
但是当它在视图中时,调试器显示Colors
的计数为0,并且您可以猜到 - 列表为空。
查看
Colors:
@foreach (var itemColor in item.Colors)
{
itemColor.ToString();
}
期望的结果里面: Colors: Black Red
当前的结果: Colors:
(空)
我在下面的答案中添加了一个翻译属性,它将无缝地将一串命名的颜色转换为数据库中的系统颜色列表。您只需维护当前的系统颜色列表,字符串属性将自动翻译它,从而维护关系数据库中的状态。 – benjamin