Эта ошибка вызвана тем, что свойства Id типов Sense и Result несовместимы. Они не должны быть одинаковыми. Например, хорошо (с точки зрения компилятора), чтобы один был int, а другой - long. Однако, например, string и int или Guid или int будут несовместимы. Решение состоит в том, чтобы сделать оба типа совместимыми, если не одинаковыми. Я понимаю, что вы, возможно, не сможете этого сделать, поскольку ваша модель сущности может быть построена из существующей базы данных, и вы можете не иметь полномочий или не захотеть изменять базовый тип столбцов.
Если вы хотите решить проблему компиляции в самом коде, то вам придется выполнить явное приведение типов:
var vals = (from o in db.Words
join r in db.Results
on o.Id equals r.root
join s in db.Senses on r.Id equals Convert.ToString(s.Id)
where r.val== SomeVal
select o ).Take(10);
Это предполагает, что свойство Id класса Result является строкой, а Id класс Sense - это некоторый числовой тип.
Когда я создал что-то подобное, я использовал эту статью вполне немного. Но в основном Вы ищете данные EXIF, встроенные в изображение.
Существует много больших библиотек для извлечения его для Вас, если Вы не хотите писать это с нуля.
Вы, вероятно, хотите использовать BitmapMetadata
класс в System.Windows.Media.Imaging
пространство имен.
Существует a BitmapMetadata
образец, который может быть загружен с MSDN.