Я хочу объединить 2 таблицы - PullRequest
0 голосов
/ 16 марта 2020

Я пытаюсь объединить две таблицы и получаю сообщение об ошибке, которое не могу устранить.

var result = _context.FileModels
  .Join(_context.FilesMetaData,
  fm => fm.Id,
  fmd => fmd,
  (a, b) => new
  {
      fmId = a.Id,
      fmds = b
  });

return result;

Это сообщение об ошибке: enter image description here

Это модели:

 public class FilesMetaData
    {
        public Guid Id { get; set; }
        public Guid FileId { get; set; }
        public Guid ApplicationId { get; set; }
        public string Comment { get; set; }
        public string OtherData { get; set; }
        public string AppUser { get; set; }
        public string Origin { get; set; }
        public string CreatedBy { get; set; }
        public string UpdatedBy { get; set; }
        public DateTime UpdatedAt { get; set; }
    }
enter code here

и FileModels - это несколько случайных столбцов с одним индексом.

Ответы [ 2 ]

0 голосов
/ 16 марта 2020

У вас, кажется, есть внешние ключи, но где свойства навигации?

Я ожидал бы увидеть что-то вроде:

public class FilesMetaData
{
    public Guid Id { get; set; }
    public File File {get;set;} <-- Navigation Property
    public Guid FileId { get; set; }
    public Application Application {get;set;} <-- Navigation Property
    public Guid ApplicationId { get; set; }
    ...
}
public class File
{
    public Guid Id {get;set;}
    ...
}
public class Application
{
    public Guid Id {get;set;}
    ...
}

Это автоматически выполнит объединения, когда потребуется.

0 голосов
/ 16 марта 2020

В вашем объединении отсутствует столбец:

.Join(_context.FilesMetaData,
  fm => fm.Id,
  fmd => fmd.FileModelId,  // <--- Define the right column
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...