EF6 Raw SqlQuery不读取值数据

时间:2014-01-08 16:57:43

标签: vb.net entity-framework

我是EF的新手。 阅读here可以对非实体类型使用SQL查询。

我有这堂课:

Public Class MyNoEntityClass
    Public ID As Integer
    Public Field1 As Decimal
    Public Field2 As Decimal
End Class

我尝试使用dbcontext从数据库加载数据:

Dim aRecords As List(Of MyNoEntityClass) = db.Database
         .SqlQuery(Of MyNoEntityClass)("SELECT ID, Field1, Field2 FROM MyTable")
         .ToList

用“

”检查元素数量后
console.writeline(aRecords.Count)

且值正确,list包含相同的记录号。然后我做

For Each oData As MyNoEntityClass In aRecords 
    Console.WriteLine(oData.ID)
    Console.WriteLine(oData.Field1)
    Console.WriteLine(oData.Field2)
Next 

并且所有值都为零。

为什么?我哪里错了? 数据库列是MyNoEntityClass的相同类型(ID整数,Field1和Field2十进制)。

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

EF不会将值绑定到公共字段。使它们成为属性

Public Class MyNoEntityClass
    Public Property ID As Integer
    Public Property Field1 As Decimal
    Public Property Field2 As Decimal
End Class