我有一個web項目,其中的文件夾是在areas
內構建的。在那裏,我有兩個主要文件夾:管理員和主頁。在Home部分,我將把與最終用戶有關的所有信息放在我的後臺。在Admin文件夾中,我將模型和視圖分爲子文件夾。就像下面這個例子:c#mvc區域文件夾結構和類名
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 to 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,我希望文件夾名稱保留爲類別。那麼請有人能告訴我如何區分名字空間和表類嗎?
編輯
雖然我喜歡這個答案,我重新設計了我的文件夾結構和類名。儘管我離開了L2S類名,但我將模型命名爲ModelCategory
,並試圖避免使用名爲L2S類的Models文件夾中的子文件夾。此外,我將Edit.cs - Create.cs - Index.cs
合併到ModelCategory
,因爲它們或多或少地使用相同的模型。因此,我刪除了模型中的類別子文件夾,並且問題消失了。
我喜歡這個建議:) – Shaokan
@Jonas:非常酷,我沒有意識到這一點。 – Yuck