如果我添加新的迁移(EF 代码优先(,我的新类/数据库迁移的结构看起来有点像:
namespace MySolutionNamespace.MyProjectNamespace
{
using System.Data.Entity.Migrations;
public partial class MyMigration : DbMigration
{
//....
}
}
在命名空间中呈现 using
语句的原因是否记录在任何地方?
关于这个主题,SO有几个很好的帖子/答案。下面介绍如何解释在文件顶部限定命名空间范围时如何可能遇到问题:https://stackoverflow.com/a/151560/1617161
这是另一个讨论潜在问题: https://stackoverflow.com/a/1342873/1617161
我一直把它们放在文件的顶部,如果你的命名空间和类是非常特定于应用程序的,这似乎是安全的;即。不会与其他 Dll 冲突。
我想特定于实体框架,他们似乎试图防止与 System.Data.Entity.Migrations 命名空间中的类发生冲突。放置在命名空间内可以减少破坏某人的代码的机会,该代码具有与 System.Data.Entity.Migrations 命名空间中的类命名相同的类。