我必须使用ASP.NET MVC和Entity框架为它创建一个MSSQL数据库。我的问题将分为两部分。
[编辑] 种子方法
using (StreamReader jsonData = new StreamReader(System.Web.HttpContext.Current.Server.MapPath("~/Resources/products.json")))
{
List<Product> products = JsonConvert.DeserializeObject<List<Product>>(jsonData.ReadToEnd());
products.ForEach(s => context.Products.AddOrUpdate(s));
context.SaveChanges();
}
[编辑] 我的模特:
public class Product
{
public int id { get; set; }
public string name { get; set; }
public double price { get; set; }
public string specsmanufacturer { get; set; }
public int specsstorage { get; set; }
public string specsos { get; set; }
public int specscamera { get; set; }
public string imagesmall { get; set; }
public string imagelarge { get; set; }
}
答案 0 :(得分:0)
您可以展平您的模型(1个1类表)或将实体存储在各自的表中(3个类3个表)。
编辑:平面班级模型。
public class Thingy
{
[Key]
public int ID{get;set;}
public string Name{get;set;}
public decimal Price{get;set;}
public string SpecsManufacturer{get;set;}
public int SpecsStorage{get;set;}
public string SpecsOS{get;set;}
//etc
}
如果您使用的是Code-first并且在Migrations文件夹中有Configuration.cs
,那么您可以覆盖Seed方法:
protected override void Seed(DataContext context)
{
//Populate using whatever method you want.
}
每次对数据库运行命令update-database
时,Seed方法都会运行。