【发布时间】:2013-09-14 16:31:35
【问题描述】:
我有一个数据库,我正在通过 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 并以树或其他方式显示所有Assets,并且我希望能够创建新的Asset 或添加现有的Asset 属于其他项目的内容。
如果我将使用生成的实体,我将无法管理所有这些,所以我需要一些规则。我已经找到了很好的 impl。的存储库,但仍然不知道如何创建规则。
我是否需要创建类似的东西:
public class WorkProject : Project
{
public WorkProject(Project projject){...}
WorkAsset CreateAsset(){...}
void AddAsset(Asset asset){...}
}
【问题讨论】:
-
你的问题是什么?
-
如何限制对实体的访问?
标签: c# .net entity-framework data-access-layer business-logic