2013-09-10 185 views
0

我有一個數據庫,我通過EF訪問它。C#實體框架和業務邏輯

public partial class Project 
{ 
    public int ProjectID { get; set; } 
    public string Name { get; set; } 

    public virtual ICollection<ProjectAssets> ProjectAssets { get; set; } 
} 

public partial class ProjectAssets 
{ 
    public int MappingID { get; set; } 
    public int ProjectID { get; set; } 
    public int AssetID { get; set; } 

    public virtual Project Project { get; set; } 
    public virtual Asset Asset { get; set; } 
} 

public partial class Asset 
{ 
    public int AssetID { get; set; } 
    public string Name { get; set; } 
    public short Type { get; set; } 

    public virtual ICollection<ProjectAssets> ProjectAssets { get; set; } 
} 

因此,我的程序在當時只有1個活動的Project。 我希望能夠綁定到Project並顯示爲樹或其他方式全部Asset s,我希望能夠創建新的Asset或添加現有的Asset屬於其他項目。 如果我將使用生成的實體,我將無法管理這一切,所以我需要一些規則。我已經找到了好的impl。的存儲庫,但仍不知道如何創建規則。 我需要創造這樣的:

public class WorkProject : Project 
{ 
    public WorkProject(Project projject){...} 
    WorkAsset CreateAsset(){...} 
    void AddAsset(Asset asset){...} 
} 
+2

你的問題是什麼? –

+0

如何限制對實體的訪問? – Towelie

回答

0

據我理解你的問題,你想控制這是有關項目對象實體的圖形。您可以保持存儲庫層不變,並在其上放置另一個層(業務層)以強制執行規則。