作者fumizuki (蒙面加菲狮)
看板Visual_Basic
标题[.NET] LINQ to SQL
时间Thu May 10 21:25:49 2012
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