Asp.net mvc Where put分部类(linq2sql)

Asp.net mvc Where put分部类(linq2sql),asp.net-mvc,linq-to-sql,Asp.net Mvc,Linq To Sql,我使用linq2sql,我有一个文件DBDataClasses.dbml,其中包含所有映射表。 在同一名称空间中,我有分部类,例如: public partial Product { // added some logic here } 很好,但是有一个小问题。我的目录有大约20个文件(部分类)。 看起来很乱: -Model --Product.cs --ProductInfo.cs --ProductOrder.cs and so on 我想以逻辑形式将它们分开,如下所示: -Model

我使用linq2sql,我有一个文件DBDataClasses.dbml,其中包含所有映射表。 在同一名称空间中,我有分部类,例如:

public partial Product
{
// added some logic here
}
很好,但是有一个小问题。我的目录有大约20个文件(部分类)。 看起来很乱:

-Model
--Product.cs
--ProductInfo.cs
--ProductOrder.cs
and so on
我想以逻辑形式将它们分开,如下所示:

-Model
**--Products** //directory / namespace
---Product.cs
---ProductInfo.cs
---ProductOrder.cs
有什么办法可以做到这一点吗?我试图使用继承:

namespace Model.Produts

class Product : Model.Product
{
// logic
}
但这不是一个好主意

致意

//编辑:

我找到了一个解决方案,其原理非常简单:

在DBDataAclasses.designer.cs中,只需将模型放在另一个名称空间中,例如model.Products

namespace Models.Products
{


 [Table(Name="dbo.Products")]
    public partial class Product : INotifyPropertyChanging, INotifyPropertyChanged
    {
    //...
    }
}
警告!将此名称空间移出根命名空间(移动到文件顶部,您将看到主命名空间)


然后给新的分部类赋予相同的名称空间

如果名称空间保持不变,您当然可以将它们放在子目录中,但我认为这不是您想要的

我想问你自己的问题是,你的DBML中是否有太多的模型/表?您可以将它们拆分为不同名称空间中的多个数据上下文,并以这种方式进行组织。如果您可以将数据上下文保持在较小的范围内,并将注意力集中在特定的逻辑区域,例如,一个DBML用于产品表,另一个DBML用于客户等,这会更好