2012-08-23 129 views
0

我有一個對象是LINQ CP_Stop中的一個實體,我試圖用不同的數據填充屬性。編譯器混淆賦值和比較

Dim stop As New CP_Stop 
With stop 
    .fdStart = dtpStart.Value 
    .fdEnd = dtpEnd.Value 
    .CP_Cause = cause 
    .User = user 
    .Machine = machine 
    .CP_Production = _presenter.GetProduction() 
End With 

前兩個分配被完成的,以及第三個,CP_Cause是,我的方法中較早查詢對象,但是當涉及到第四之一,它崩潰。 錯誤如下:

對'Entities.Users'和'Entities.Users'類型沒有定義運算符'='。

有趣的部分是,如果一個開關,例如原因和用戶分配,第一個是做的,另一個崩潰。與所有其他對象分配相同的場景。在我看來,編譯器混淆了賦值。

我已經嘗試了幾種方法來完成這個任務,就像在另一個方法上做的那樣,但它總是在第一個方法之後崩潰。

+2

你稱之爲「崩潰」,你說它是一個運行時錯誤,但是這個錯誤在運行時有點不尋常。你確定這不是編譯時錯誤嗎? – Ryan

+0

你有'Option Explicit On'和'Option Strict On'嗎? – Enigmativity

+0

我有這兩個選項,你是正確的minitech我的意思是,當我調試它顯示我的錯誤在VS – Okura

回答

0

我不知道你可以有一個列屬性,其中包含對另一個表的另一行的引用,因爲它將如何在SQL中翻譯?你必須使用一個鍵(expl:userId,而不是用戶)。
你可能想看看EntityRef和EntitySet,以處理一對一/一對多關係,但這是複雜的東西。

+1

如果此實體框架以及兩個表格之間的關係在模型中定義,那麼OP的示例是完全合法的。 – mclark1129

+0

是的,它是合法的,我發佈的錯誤是調試器說的,在try catch塊上,異常是不同的上下文對象。 謝謝大家 – Okura