簡體   English   中英

具有共享對象表的實體框架導航

[英]Entity Framework navigation with shared object table

我有項目,任務和工作對象。 我有一個可以鏈接到其中任何一個的對象標簽。 這些對象中的任何一個都可以具有與其關聯的多個標簽。 標簽對象具有TagId,TypeId,RelationId。

RelationId是指向鏈接對象的對象,類型指示要鏈接到的類型。 如何在每個對象的導航屬性中執行此操作,以免出現錯誤的標記對象。 我知道我可以使用Linq來執行Where(ProjectId == RelationId && TypeId == 1) ,但這僅在我編寫查詢且不允許導航屬性的情況下有效。

您的實體結構應如下所示:

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; }
}

這在實體框架https://msdn.microsoft.com/zh-cn/data/jj713564.aspx中稱為獨立關聯

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM