Pregunta

Tengo dos tablas que estoy tratando de crear una relación entre lo que puedo escribir consultas LINQ agradables que no requieren unirse.

Widgets
WidgetId
WidgetDescription

Orders
OrderId
WidgetId
OrderDate

Lo que yo quiero ser capaz de hacer es crear una consulta LINQ que hace algo similar a:

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

Me parece que no puede conseguir Intellitext para recoger la otra base de datos a pesar de crear una relación en el servidor SQL. ¿Hay pasos adicionales que debe tomar para hacer este trabajo?

¿Fue útil?

Solución

No creo que se podría hacer sin que ninguna de OrderDate añadiendo a widgets en su base de datos y se ejecuta una consulta de combinación antes de consultar a él.

Me haría algo como esto.

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;

De esta manera se obtiene un OrderDate para cada registro de widgets.

Otros consejos

¿Qué tal algo como:

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;
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top