C#实体框架和业务逻辑

时间:2013-09-10 20:04:23

标签: c# .net entity-framework data-access-layer business-logic

我有一个数据库,我通过EF访问它。

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的形式显示为树或其他方式,我希望能够创建新的Asset或添加现有的Asset什么属于其他项目。 如果我将使用生成的实体,我将无法管理所有这些,所以我需要一些规则。我已经找到了好的印象。的存储库,但仍然不知道如何创建规则。 我是否需要创建类似的内容:

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

1 个答案:

答案 0 :(得分:0)

据我了解您的问题,您希望控制与项目对象相关的实体图。您可以保留存储库层,并在其上放置另一个层(业务层)以强制执行规则。