【发布时间】:2022-01-08 00:44:05
【问题描述】:
我在使用 dotnet ef cli 工具创建新迁移时遇到了一个可重复的问题。我与主要使用 Windows 的开发人员一起从事一个项目,而我在 MacOS 和 Linux 上工作没有重大问题。 我们使用 .HasData() 方法进行了流利的实体配置和一些数据播种
builder.HasData(new SomeType
{
NameEn = @"multi
line string"
});
然后在 Windows 上创建迁移时,它会为每次遇到新行时生成带有“\r\n”的迁移文件,但是当在 mac/linux 系统上创建任何迁移时,它会将其捕获为更改并生成 migrationBuilder。带有“\r\n”的 UpdateData 条目被替换为“\n”。在下次迁移的窗口上,它再次被捕获并转换回“\r\n”。
成功地将迁移应用到数据库没有任何区别,但它成功地混淆了 git diff 结果并使其更难审查。不必要的更新我不需要提及...
有人遇到过这样的问题吗?有什么解决办法吗?我找不到任何报告的问题,而且在我看来,团队中的人在不同系统上工作的情况并不罕见。
我使用“Entity Framework Core .NET 命令行工具 6.0.0”
提前感谢您的帮助
【问题讨论】:
-
是“迁移”改变了行尾,还是源代码控制 (git) 将行尾调整为当前平台?
标签: .net entity-framework-core dotnet-cli