Я пытаюсь объединить две таблицы в моей базе данных, основанные на двух значениях, существующих в обеих таблицах (модели и производителя), для этих значений нет никаких отношений fk в базе данных по различным причинам.Linq-sql объединяет две таблицы
До сих пор у меня есть следующие:
var modelManufacturer = DataContext.Assets_ND.Select(a => new {a.ModelNo, a.Manufacturer}).Distinct();
var masterPMs = DataContext.MasterPlannedMaintenances.Where(pm => pm.PlantId == model.PlantId);
var joined = modelManufacturer.Join(masterPMs.AsEnumerable(), a => new {a.ModelNo, a.Manufacturer},pm => new {pm.Model, pm.Manufacturer}, x => new {x.ModelNo, x.Manufacturer, x.Id});
Это не компилирует и имеет ошибку
Error 7 Аргументы типа для метода «System.Linq.Queryable.Join (System.Linq.IQueryable, System.Collections.Generic.IEnumerable, System.Linq.Expressions.Expression> System.Linq.Expressions.Expression> System.Linq.Expressions.Expression>)» не может быть выведен из использования. Попробуйте явно указать аргументы типа .
Это где я немного озадачен о том, как определить значения, я попробовал несколько комбинаций modelManufacturer.Join<Asset, MasterPlannedMaintenance....>
но IntelliSense, кажется, предполагает, что Isnt право, или, по крайней мере, для того, что я вставлять их не является правильным.
Что я делаю неправильно или что является лучшим способом присоединиться к этим двум таблицам на основе двух строковых полей и вернуть 2 значения из левой таблицы (Модель, Производитель) и один справа (id).