У меня есть веб-проект, папки которого создаются в пределах areas
. Там у меня есть две основные папки: Admin и Home. В разделе «Домашняя страница» я размещу все, что касается конечного пользователя, а администратор будет моим бэк-офисом В папке Admin я разделил Модели и Представления на подпапки. Как в следующем примере:
Areas
- Admin
- Controllers
- CategoryController.cs
- UserController.cs
- Models
- Category
- Edit.cs
- Create.cs
- Index.cs
- User
- Edit.cs
- Create.cs
- Index.cs
- Views
- Category
- Edit.cshtml
- Create.cshtml
- Index.cshtml
- User
- Edit.cshtml
- Create.cshtml
- Index.cshtml
- Home
...
Полагаю, пока все хорошо. Поскольку я использую Linq для Sql, и у меня есть таблица с именем Category, пространство имен и имя таблицы создают для меня некоторые проблемы. Скажи в категории / Edit.cs:
namespace MyProject.Areas.Admin.Models.Category
{
public class Edit
{
public IQuaryable<Category> // this throws an intellisense error since it
// understands "Category" as the folder/namespace
// instead of the table name in linq to sql class
Ну, я знаю, что решение легко: изменить имя таблицы на что-то другое. Но ради читабельности кода я хочу иметь четкое имя таблицы и иметь четкий URL, чтобы имя папки оставалось в качестве категории. Так, пожалуйста, может кто-нибудь сказать мне, как отличить пространство имен от класса таблицы?
EDIT
Хотя мне нравится ответ, я изменил структуру папок и имена классов. Оставив имена классов L2S без изменений, я назвал модели ModelCategory
и стараюсь избегать подпапок в папке Models с именами классов L2S. Кроме того, я объединил Edit.cs - Create.cs - Index.cs
в ModelCategory
, поскольку они более или менее используют одну и ту же модель. Поэтому я удалил подпапку «Категория» в моделях, и проблема исчезла.