精華區beta Visual_Basic 關於我們 聯絡資訊
Visual Studio 2010 SP1 / .NET Framework 4.0 LINQ to SQL 語法,在查詢中直接 New 一個標記為 Table 的類別,會產生錯誤: System.NotSupportedException: 不允許在查詢中明確建構實體類型 LINQ to SQL 設計工具產生的程式碼: <Global.System.Data.Linq.Mapping.TableAttribute(Name:="dbo.Table1")> _ Partial Public Class Table1 Implements System.ComponentModel.INotifyPropertyChanging, System.ComponentModel.INotifyPropertyChanged '內容省略 End Class 查詢資料的程式碼: Using sd As New DataClasses1() Dim T1 = (From a In sd.Table1 Where a.Column1 = "Sample" _ Select New Table1() With _ {.Column1 = a.Column1, .Column2 = a.Column2} ).FirstOrDefault() End Using 把類別開頭的 TableAttribute 屬性拿掉,就不會產生錯誤: 解決方法: 自訂類別,並繼承設計工具產生的類別 Public Class Table1_ext Inherits Table1 End Class 查詢資料的程式碼: Using sd As New DataClasses1() Dim T1 = (From a In sd.Table1 Where a.Column1 = "Sample" _ Select New Table1_ext() With _ {.Column1 = a.Column1, .Column2 = a.Column2} ).FirstOrDefault() End Using -- ▃▅▇▆▄ ▆▂▃ ` 逝去感如何能留住,半點遺留殊不易,██▅▇▄▃ ▇▃▂" . █████████▃i ▁▄▇ 更多悽悽慘慘的遭遇………██▆▃ █▅▆▃ˍ▄* ▂█▄▇▅▂. 我不知道,王~八~蛋~~! ▂▆███ █▄▃ 。fumizuki。Check。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 180.176.149.188