0

我有一个数据库,我正在通过 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如果我将使用生成的实体,我将无法管理所有这些,所以我需要一些规则。我已经找到了很好的 impl。的存储库,但仍然不知道如何创建规则。我是否需要创建类似的东西:

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

1 回答 1

0

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

于 2013-09-11T12:14:56.780 回答