MVC4C#如何创建返回列表的方法<;对象>;
我正在使用EF,并在数据库中植入一些产品数据。我正在播种的数据有一部分将重复大约100次。与其复制和粘贴我的代码,我宁愿用一个方法填充我的列表,但由于我是一个新手,我似乎无法使其正常工作: 以下是上下文中的代码:MVC4C#如何创建返回列表的方法<;对象>;,c#,asp.net-mvc-4,C#,Asp.net Mvc 4,我正在使用EF,并在数据库中植入一些产品数据。我正在播种的数据有一部分将重复大约100次。与其复制和粘贴我的代码,我宁愿用一个方法填充我的列表,但由于我是一个新手,我似乎无法使其正常工作: 以下是上下文中的代码: context.Products.AddOrUpdate( pr => pr.Name, new Product { Name = "3.5x5",
context.Products.AddOrUpdate(
pr => pr.Name,
new Product
{
Name = "3.5x5",
ProductCategoryId = 1,
ProductSubCategoryId1 = 1,
ProductSubCategoryId2 = 3,
VendorId = 1,
HeightUnitId = 2,
Height = (decimal)3.5,
Width = 5,
ProductOptions =
new List<ProductOption>
{
new ProductOption { Name = "Paper", InputTypeSingleOptionId = 1, InputTypeMultipleOptionId = 2, SortOrder = 1,
ProductOptionsDetails =
new List<ProductOptionsDetail>
{
new ProductOptionsDetail { Name = "Glossy", Value = "Glossy", IsDefault = true, SortOrder = 1 },
new ProductOptionsDetail { Name = "Matte", Value = "Matte", IsDefault = false, SortOrder = 2 },
new ProductOptionsDetail { Name = "Metallic", Value = "Metallic", IsDefault = false, SortOrder = 3 },
new ProductOptionsDetail { Name = "Lustre", Value = "Lustre", IsDefault = false, SortOrder = 4 }
}
},
new ProductOption { Name = "Color", InputTypeSingleOptionId = 1, InputTypeMultipleOptionId = 2, SortOrder = 2,
ProductOptionsDetails =
new List<ProductOptionsDetail>
{
new ProductOptionsDetail { Name = "Color", Value = "Color", IsDefault = true, SortOrder = 1 },
new ProductOptionsDetail { Name = "Black and white", Value = "Black and White", IsDefault = false, SortOrder = 2 },
new ProductOptionsDetail { Name = "Sepia", Value = "Sepia", IsDefault = false, SortOrder = 3 }
}
},
new ProductOption { Name = "Texture", InputTypeSingleOptionId = 1, InputTypeMultipleOptionId = 2, SortOrder = 3,
ProductOptionsDetails =
new List<ProductOptionsDetail>
{
new ProductOptionsDetail { Name = "None", Value = "None", IsDefault = true, SortOrder = 1 },
new ProductOptionsDetail { Name = "Linen texture", Value = "Linen", IsDefault = false, SortOrder = 2 },
new ProductOptionsDetail { Name = "Canvas texture", Value = "Canvas", IsDefault = false, SortOrder = 3 },
new ProductOptionsDetail { Name = "Watercolor texture", Value = "Canvas", IsDefault = false, SortOrder = 4 },
new ProductOptionsDetail { Name = "Pebble texture", Value = "Pebble", IsDefault = false, SortOrder = 5 }
}
},
new ProductOption { Name = "Coating", InputTypeSingleOptionId = 1, InputTypeMultipleOptionId = 2, SortOrder = 4,
ProductOptionsDetails =
new List<ProductOptionsDetail>
{
new ProductOptionsDetail { Name = "None", Value = "None", IsDefault = true, SortOrder = 1 },
new ProductOptionsDetail { Name = "Linen texture", Value = "Linen", IsDefault = false, SortOrder = 2 },
new ProductOptionsDetail { Name = "Canvas texture", Value = "Canvas", IsDefault = false, SortOrder = 3 },
new ProductOptionsDetail { Name = "Watercolor texture", Value = "Canvas", IsDefault = false, SortOrder = 4 },
new ProductOptionsDetail { Name = "Pebble texture", Value = "Pebble", IsDefault = false, SortOrder = 5 }
}
}
}
},
context.Products.AddOrUpdate(
pr=>pr.名称,
新产品
{
Name=“3.5x5”,
ProductCategoryId=1,
ProductSubcategory ID1=1,
ProductSubcategory ID2=3,
VendorId=1,
HeightUnitId=2,
高度=(十进制)3.5,
宽度=5,
产品选项=
新名单
{
新产品选项{Name=“Paper”,InputTypeSingleOptionId=1,InputTypeMultipleOptionId=2,SortOrder=1,
产品选项详细信息=
新名单
{
新产品选项详细信息{Name=“光泽”,Value=“光泽”,IsDefault=true,SortOrder=1},
新产品选项详细信息{Name=“Matte”,Value=“Matte”,IsDefault=false,SortOrder=2},
新产品选项详细信息{Name=“Metallic”,Value=“Metallic”,IsDefault=false,SortOrder=3},
新产品选项详细信息{Name=“Lustre”,Value=“Lustre”,IsDefault=false,SortOrder=4}
}
},
新产品选项{Name=“Color”,InputTypeSingleOptionId=1,InputTypeMultipleOptionId=2,SortOrder=2,
产品选项详细信息=
新名单
{
新产品选项详细信息{Name=“Color”,Value=“Color”,IsDefault=true,SortOrder=1},
新产品选项详细信息{Name=“Black and white”,Value=“Black and white”,IsDefault=false,SortOrder=2},
新产品选项详细信息{Name=“Sepia”,Value=“Sepia”,IsDefault=false,SortOrder=3}
}
},
新产品选项{Name=“Texture”,InputTypeSingleOptionId=1,InputTypeMultipleOptionId=2,SortOrder=3,
产品选项详细信息=
新名单
{
新产品选项详细信息{Name=“None”,Value=“None”,IsDefault=true,SortOrder=1},
新产品选项详细信息{Name=“linne texture”,Value=“linne”,IsDefault=false,SortOrder=2},
新产品选项详细信息{Name=“Canvas texture”,Value=“Canvas”,IsDefault=false,SortOrder=3},
新产品选项详细信息{Name=“Watercolor texture”,Value=“Canvas”,IsDefault=false,SortOrder=4},
新产品选项详细信息{Name=“Pebble texture”,Value=“Pebble”,IsDefault=false,SortOrder=5}
}
},
新产品选项{Name=“Coating”,InputTypeSingleOptionId=1,InputTypeMultipleOptionId=2,SortOrder=4,
产品选项详细信息=
新名单
{
新产品选项详细信息{Name=“None”,Value=“None”,IsDefault=true,SortOrder=1},
新产品选项详细信息{Name=“linne texture”,Value=“linne”,IsDefault=false,SortOrder=2},
新产品选项详细信息{Name=“Canvas texture”,Value=“Canvas”,IsDefault=false,SortOrder=3},
新产品选项详细信息{Name=“Watercolor texture”,Value=“Canvas”,IsDefault=false,SortOrder=4},
新产品选项详细信息{Name=“Pebble texture”,Value=“Pebble”,IsDefault=false,SortOrder=5}
}
}
}
},
我想从一个方法返回的部分如下:
ProductOptions=getOptions()所有嵌套的代码都可以逐字重复。我曾尝试使用其他一些示例,但在Visual Studio中不断出现错误。如果我能找到一种非常基本的方法,那将不胜感激。公共列表getOptions(){
public List<ProductOptionsDetail> GetOptions() {
return new List<ProductOptionsDetail>()
{
new ProductOptionsDetail() { Name = "None", Value = "None", IsDefault = true, SortOrder = 1 },
new ProductOptionsDetail() { Name = "Linen texture", Value = "Linen", IsDefault = false, SortOrder = 2 },
new ProductOptionsDetail() { Name = "Canvas texture", Value = "Canvas", IsDefault = false, SortOrder = 3 },
new ProductOptionsDetail() { Name = "Watercolor texture", Value = "Canvas", IsDefault = false, SortOrder = 4 },
new ProductOptionsDetail() { Name = "Pebble texture", Value = "Pebble", IsDefault = false, SortOrder = 5 }
};
}
返回新列表()
{
新产品选项详细信息(){Name=“None”,Value=“None”,IsDefault=true,SortOrder=1},
新产品选项Detail(){Name=“linne texture”,Value=“linne”,IsDefault=false,SortOrder=2},
新产品选项详细信息(){Name=“Canvas texture”,Value=“Canvas”,IsDefault=false,SortOrder=3},
新产品选项detail(){Name=“Watercolor texture”,Value=“Canvas”,IsDefault=false,SortOrder=4},
新产品选项详细信息(){Name=“Pebble texture”,Value=“Pebble”,IsDefault=false,SortOrder=5}
};
}
就这样!谢谢。我真不敢相信我把事情弄得太复杂了。再次感谢。@Ek0nomik-在使用初始化语法时,无参数构造函数不需要括号。通常情况下,您不会同时使用参数构造函数和初始化。