Как узнать, какой идентификатор принадлежит какому объекту? - PullRequest
0 голосов
/ 31 марта 2020

У меня есть 3 идентификатора внешнего ключа, и они исходят из одной таблицы, поэтому на них теперь ссылаются имена таблиц в приведенном ниже классе, теперь - как я могу узнать, какой объект относится к какому идентификатору - например, идентификаторы

    public partial class InspectionResult
    {
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
        public InspectionResult()
        {
            this.EventLogs = new HashSet();
            this.InspectionItems = new HashSet();
            this.InspectionResultStatCounts = new HashSet();
            this.NOVs = new HashSet();
            this.UploadedDocuments = new HashSet();
            this.AspNetUsers = new HashSet();
        }

        public int InspectionResultId { get; set; }

        public string EnteredById { get; set; }

        public string CreatedByUserId { get; set; }
        public string UpdatedByUserId { get; set; }

        public virtual AspNetUser AspNetUser { get; set; }
        public virtual AspNetUser AspNetUser1 { get; set; }
        public virtual AspNetUser AspNetUser2 { get; set; }

        public virtual ICollection AspNetUsers { get; set; }
    }

EnteredById, CreatedByUserId, updatedByUserId поступают из одной таблицы AspNetUser, но как узнать, какой идентификатор принадлежит AspNetUser, AspNetUser1, AspNetUser2 и как обрабатывать объект AspNetUsers? Я использую EF Database First Approach, пожалуйста, помогите - спасибо.

1 Ответ

2 голосов
/ 31 марта 2020

Вы можете использовать аннотацию данных «ForeignKey», чтобы указать, какой идентификатор принадлежит какому свойству навигации. Я бы посоветовал вам назвать ваши навигационные свойства значимыми именами (см. Ниже) вместо 1, 2, 3.

public string EnteredById { get; set; }
public string CreatedByUserId { get; set; }
public string UpdatedByUserId { get; set; }

[ForeignKey("EnteredById")]
public virtual AspNetUser EnteredBy { get; set; }

[ForeignKey("CreatedByUserId")]
public virtual AspNetUser CreatedBy { get; set; }

[ForeignKey("UpdatedByUserId")]
public virtual AspNetUser UpdatedBy { get; set; }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...