我正在尝试替换我的 EF 代码优先配置的 Seed() 方法中包含http:
的所有 url。https:
我有以下内容:
var context = new DbContext(); // contains public DbSet<Doc> Docs { get; set; }
var docs = context.Docs.ToList(); // dbcontext
foreach (var doc in docs)
{
if (doc.ImageContent != null && doc.ImageContent.Contains("https:"))
doc.ImageContent = doc.ImageContent.Replace("https:", "http:");
}
context.saveChanges
但是每当我运行它时(从我的数据库迁移中的种子方法 - 所以据我所知我无法调试) - 我收到以下错误:
System.Data.DataException: An exception occurred while initializing the database. See the InnerException for details. ---> System.Data.Entity.Validation.DbEntityValidationException: Validation failed for one or more entities.
如果我注释掉 SaveChanges,甚至会发生此错误。该字段只是一个非必需的字符串,所以我认为验证不会由于不正确的数据类型而失败......它还能是什么?