Установка отношений SQL для запросов LINQ - PullRequest
0 голосов
/ 11 мая 2010

У меня есть две таблицы, между которыми я пытаюсь создать взаимосвязь, чтобы я мог писать красивые LINQ-запросы, которые не требуют соединения.

Widgets
WidgetId
WidgetDescription

Orders
OrderId
WidgetId
OrderDate

Что я хочу сделать, это создать запрос LINQ, который выполняет что-то похожее на:

var result = from x in db.Widgets
Where x.Orders.OrderDate == "5/11/2010"
select x;

Кажется, я не могу получить intellitext, чтобы подобрать другую базу данных, несмотря на создание связи на сервере SQL. Есть ли какие-то дополнительные шаги, которые мне нужно предпринять, чтобы сделать эту работу?

Ответы [ 2 ]

0 голосов
/ 11 мая 2010

Как насчет чего-то вроде:

var result = from widgetId in 
                (from order in orderContext.Orders
                    where order.OrderDate == new DateTime(2010, 5, 11)
                    select order.WidgetId)
            from widget in widgetContext.Widgets
            where widget.WidgetId = widgetId
            select widget;
0 голосов
/ 11 мая 2010

Не думаю, что это можно сделать без добавления OrderDate к виджетам в вашей базе данных или запуска запроса на соединение перед запросом.

Я бы сделал что-то подобное.

var firstQuery = (for w in Widgets
                  join o in Orders
                  on w.WidgetId equals o.WidgetID
                  select new {Widgets = w, OrderDate = o.OrderDate}).Distinct();

var secondQuery = for record in firstQuery
                  where record.OrderDate == "5/11/2010"
                  select record.Widgets;

Таким образом, вы получаете OrderDate для каждой записи виджета.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...