【发布时间】:2020-04-27 17:09:31
【问题描述】:
我遇到了一个问题,因为它有一个外键约束,所以我无法为 SQL 脚本做种,我尝试了 context.SaveChanges() 但它不起作用。有什么办法可以做到这一点?
protected override void Seed(ApplicationDbContext context)
{
List<Type> types = new List<Type>();
types.Add(new Type() { Type = "Fair" });
types.Add(new Type() { Type = "Great" });
context.Type.AddRange(types);
context.SaveChanges();
var baseDir = AppDomain.CurrentDomain.BaseDirectory.Replace("\\bin", string.Empty) + "\\Paths";
context.Database.ExecuteSqlCommand(File.ReadAllText(baseDir + "\\Types.sql"));
context.Database.ExecuteSqlCommand(File.ReadAllText(baseDir + "\\Category.sql"));
base.Seed(context);
}
型号:
public class Type
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
public string Title { get; set; }
}
【问题讨论】:
-
看起来您正在使用实体。您是否必须刷新映射数据,以便同步您对数据库(或 c# 类)所做的任何更改?
-
是的,完全是@jdwengspan>
-
显示
Type模型 -
@FarhadZamani 编辑了它
标签: c# sql entity-framework