Я бы хотел использовать Entity Framework для возврата данных из 2 таблиц и выбора столбцов из двух таблиц, сначала мне не повезло с чем-то простым, например возвращая int и строки (то есть select new { id = t1.ID, other = t2.OtherData }
, поскольку литье анонимного типа было громоздким в пункте назначения (назначение было моей winform), поэтому я ударил по идее, чтобы просто вернуть обе строки таблицы ...Entity Framework, возвращающий IQueryable для объединения двух таблиц
Так что-то вроде этого:
public static IQueryable<{Table1,Table2}> byRecID(Guid recID, MyContext DBContext)
{
return (from i1 in DBContext.Table1
join j1 in DBContext.Table2 on i1.GroupID equals j1.GroupID
where i1.RecID.Equals(RecID)
select new { i1, j1 }).SingleOrDefault();
}
Это все хорошо, за исключением типа возвращаемого значения метода является неправильным. Я попробовал несколько комбинаций. Unfort в то время как я вызываю «byRecID» из winform, «SingleOrDefault» недоступен, но доступен внутри внутри метода byRecID, поэтому я не могу просто вернуть IQueryable
, должен быть напечатан IQueryable<SOMETHING IN HERE>
(потому что SingleOrDefault
не является расширением IQueryable
, только IQueryable<T>
).
Мой вопрос ... есть ли синтаксис для 'SOMETHING IN HERE', который позволяет мне указать его объединение двух строк таблицы?
и мне интересно ... Почему SingleOrDefault является опцией INSIDE, но не является вариантом результата метода при вызове из моей winform?
В основном я надеялся на то, что позволяет чистые вызовы данных из моих winforms, не отбрасывая отвратительные анонимные типы, а затем используя отражение (например, когда я возвращал анонимный тип примитивов), но также не хочу, чтобы порождать Type just для использования моим методом byRecID
.
Вы не можете возвращать анонимные типы из методов. Вам нужен конкретный тип –
, вы можете просто их использовать, что является моей точкой. Я хочу тип, который описывает себя как объединение двух других типов. – Nnoel
Кроме того, вы выполняете запрос, поэтому результат не является IQueryable чего-то, это что-то –