我使用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
{
//...
}
}
警告!将此名称空间移出根命名空间(移动到文件顶部,您将看到主命名空间)
然后将相同的命名空间赋予新的分部类
答案 0 :(得分:1)
如果你保持命名空间不变,你当然可以将它们放在子目录中,但我认为这不是你想要的。
我认为问自己的问题是你的DBML中是否有太多的模型/表格?您可以将它们拆分为不同命名空间中的多个数据上下文,并以此方式进行组织。如果您可以保持较小的数据上下文并专注于特定的逻辑区域,例如产品表的一个DBML,客户的第二个DBML等,那就更好了。