希望有人可以提供帮助。
我有一个EF4上下文,其中包含2个基于POCO的实体,这些实体映射到旧版SQL2005数据库中的2个表。表之间没有关系,上下文中的实体定义之间没有关联。
public class Venue
{
public Venue(){}
public string LocationCode {get;set;}
public string LocationName {get;set;}
}
public class Booking
{
public Booking(){}
public string LocationCode {get;set;}
public int EventReference {get;set;}
public Venue BookingVenue {get;set;}
public Event BookingEvent {get;set;}
}
public class Event
{
public Event(){}
public int EventReference {get;set;}
public DateTime EventStart {get;set;}
/* plus another 60 or so properties */
}
我可以从每个单独进行LINQ选择,但每当我尝试加入事件和预订时我都会
LINQ to Entities不支持指定的类型成员'BookingEvent'。仅支持初始化程序,实体成员和实体导航属性。
我已经尝试了我可以在网上找到的所有变通方法(没有枚举,计算属性等),而且我现在感到非常沮丧。
帮助? 这是有问题的查询......
List<Booking> bookings = (from b in CalendarDB.Bookings
join e in CalendarDB.Events join b.EventReference on e.EventReference
select b).ToList();
答案 0 :(得分:0)
如果没有模型中的关系,我认为EF无法确定要使用哪些数据加入。即使您的Booking类具有BookingEvent属性,EF也不仅仅“知道”它需要基于Booking.EventReference加入Event表。因此,任何尝试使用这些引用属性的查询都将失败。