従来の知恵では、親から子の名前空間を呼び出してはいけません。
AutoMapperのようなものを使用して、コンテンツ モデルを ASP.NET MVC 3 サイトのビューモデルに変換するとします。
私のディレクトリ構造は次のようになります。
- Stuff.Content
-Foo.cs
- Stuff.Content.Public
-Controllers
-FooController.cs
-Models
-FooViewModel.cs
-Views
-Foo
-Index.cshtml
- AutoMapperConfig.cs
- Global.asax
この場合のAutoMapperConfig.csは、マッピングを設定するための静的メソッドを持つ単純な静的クラスであり、次のようになります。
public static class AutoMapperConfig
{
public static void Configure()
{
Mapper.CreateMap<Foo, FooViewModel>();
}
}
パブリック プロジェクトのルートにAutoMapperConfigがあることがわかりますが、実際には子名前空間 ( Stuff.Content.Public.Models ) を呼び出しています。
その子名前空間への呼び出しは受け入れられますか? AutoMapperConfigは、viewmodel とともにModels名前空間に存在する必要がありますか?
Controllers 名前空間のコントローラーが兄弟モデル名前空間を呼び出すのは正常と見なされるため、この領域ではあいまいになるようです。
あなたの考えを楽しみにしています。ありがとう。