我有项目,任务和工作对象。我有一个可以链接到其中任何一个的对象标签。这些对象中的任何一个都可以有多个与之关联的标记。标签对象具有TagId,TypeId,RelationId。
RelationId指向链接对象,类型指示要链接的类型。如何在每个对象的导航属性中执行此操作,以便我不会拉错标记对象。我知道我可以使用Linq来做到这一点
Where(ProjectId == RelationId && TypeId == 1)
,但这仅在我编写查询并且不允许导航属性时才有效。
答案 0 :(得分:0)
您的实体结构应该是这样的:
class Projects
{
public int ProjectId { get; set; }
public virtual ICollection<Tag> Tags { get; set; }
}
class Tasks
{
public int TaskId { get; set; }
public virtual ICollection<Tag> Tags { get; set; }
}
class Tag
{
public int TagId { get; set; }
public int TypeId { get; set; }
public int RelationId { get; set; }
public virtual Projects Project { get; set; }
public virtual Tasks Task { get; set; }
}
中称为独立关联