我剛剛進入實體框架第一次超出簡單的例子。LINQ-to-Entities,具有相同列名稱的兩個視圖之間的關聯不明確的列名稱
我正在使用模型優先的方法,並用LINQ-to-Entities查詢數據源。
我已經創建了一個實體模型,我將其作爲OData服務公開爲一個數據庫,我不控制模式。在我的模型中,我有兩個基於該數據庫中兩個視圖的實體。我已經創建了兩個實體之間的關聯。兩個視圖都有一個同名的列。
我收到錯誤:
Ambiguous column name 'columnname'. Could not use view or function 'viewname' because of binding errors.
如果我在寫SQL語句我自己,我會限定列名的一個用別名來避免這個問題。 EF顯然沒有這樣做。我如何解決這個問題,改變視圖? (我不能這樣做)我認爲這與這些實體映射到視圖有關,而不是映射到實際表。
發表一些代碼。 – cadrell0 2012-02-10 20:23:17
請澄清,如果您使用的設計師模型或代碼第一。如果您使用的是設計師,只需將兩個視圖拖放到設計圖面上並添加關係即可輕鬆解決問題。在代碼中,它需要更多的工作。 另外,你是通過實體SQL查詢還是使用LINQ to Entities? – jessehouwing 2012-02-14 21:11:57
@jessehouwing:我還沒有機會爲此收集代碼。我希望有人可能會偶然發現它,併產生一個「哦,我有這個問題之前」的迴應。我剛剛爲這個問題添加了一些額外的信息。我正在使用模型第一種方法,並且(如標題中所述)我正在使用LINQ to Entities。 – dotnetengineer 2012-02-14 21:26:15