2011-10-06 62 views
0

即時通訊使用linq2sql和我有一個文件DBDataClasses.dbml包含所有映射表。 在同一個命名空間我有部分類,例如:哪裏把部分類(linq2sql)

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 
} 

但它不是一個好的理想。

問候

//編輯:

我已經找到了解決其preatty簡單:

中只是把模型另一個命名空間如DBDataAclasses.designer.cs。 Model.Products

namespace Models.Products 
{ 


[Table(Name="dbo.Products")] 
    public partial class Product : INotifyPropertyChanging, INotifyPropertyChanged 
    { 
    //... 
    } 
} 

警告!移動這個名字空間了根命名空間(移動到文件的頂部,你會看到主命名空間)

,然後給同一個命名空間,以新的部分類

回答

1

你當然可以把他們在子目錄如果你保持命名空間相同,但我不認爲這就是你要做的。

我想問自己的問題是,如果你的DBML中有太多的模型/表格?您可以將它們拆分爲不同名稱空間中的多個數據上下文,並以這種方式獲得組織結構。如果您可以將數據上下文保持較小並專注於特定的邏輯區域(例如,產品表的一個DBML,客戶的第二個DBML等),則更好。