我的 DbContext 类与模型 ( MvcApplication.Models
) 位于同一文件夹和命名空间中。我认为将它放在我的存储库所在的文件夹和命名空间中会更好(MvcApplication.Data
)。我这样做了,代码编译并运行,但后来我尝试搭建一个控制器。我收到了这个错误:
Exception calling "GetDirectoryName" with "1" argument(s): "Illegal characters in path."
At C::\....\MvcScaffolding.1.0.9\tools\Controller\MvcScaffolding.Controller.ps1:89 char:122
这是第 89 行:
$controllerNamespace = [T4Scaffolding.Namespaces]::Normalize($defaultNamespace + "." + [System.IO.Path]::GetDirectoryName($outputPath).Replace([System.IO.Path]::DirectorySeparatorChar, "."))
所以我把它移回来,脚手架又能工作了。我可以修复脚手架让我移动 DbContext 吗?
也许数据层是错误的地方?我在 SaveChanges 覆盖中放置了一些自定义 sql,但也许这违反了一条不成文的规则。也许 sql 应该移动并且 DbContext 应该留在模型中?