2012-02-11 61 views
0

嗨,希望有人能幫助。指定的類型成員不支持LINK到實體

我有一個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從每個單獨選擇,但每當我嘗試和事件及訂票之間的連接,我得到

指定的類型成員「BookingEvent」不支持LINQ到實體。僅支持初始化程序,實體成員和實體導航屬性。

我已經嘗試了所有可以通過網絡找到的解決方法(沒有枚舉,計算屬性等),現在我已經有點沮喪了。

幫助? 這裏是有問題的查詢....

List<Booking> bookings = (from b in CalendarDB.Bookings 
    join e in CalendarDB.Events join b.EventReference on e.EventReference 
    select b).ToList(); 
+1

你可以顯示有問題的連接代碼嗎? – BrokenGlass 2012-02-11 03:00:06

回答

0

沒有在模型中的關係,我不認爲EF可以找出數據使用加入上。即使您的Booking類具有BookingEvent屬性,EF也不會僅僅'知道'它需要基於Booking.EventReference加入Event表。因此,任何試圖使用這些引用屬性的查詢都將失敗。

+0

對不起,我應該給出一個LINQ查詢的例子,這很簡單。我已經將它包含在原始問題中,因爲您可以看到它只是一個手動連接。 – 2012-02-11 15:55:10

相關問題