asp.net如何创建一个类来使用 LINQ?

标签: Vb.net Asp.net Linq
发布时间: 2017/3/26 2:01:41
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我想创建一个简单的类变量,在这我可以分配到的数据,然后使用 LINQ 来更新数据库。

我的课看起来像这样︰

Public Class GoalDetails
Inherits System.Object

Public Id As Integer
Public GoalTime As Integer
Public Scorer As String
Public HomeAway As String
End Class

我为变量赋值,然后插入的代码是︰

Dim goalsToDb = New GoalDetails()
goalsToDb.Id = 1
goalsToDb.GoalTime = 87
goalsToDb.Scorer = "W Rooney"
goalsToDb.HomeAway = "Home"

db.Goals.InsertOnSubmit(goalsToDb)

db.SubmitChanges()

收到消息"'GoalDetails' 不能转换为 '目标' 的类型的值。

我与另一个类,是在第三方 dll 文件,它的工作,但当然看不到要看看究竟有何不同我那类的代码使用相同的代码。

解决方法 1:

这是一个静态类型化的语言。 即使两个类型在概念上类似他们仍然是完全不同的类型。 你不能互换使用它们。

此属性︰

db.Goals

是给定类型的集合。 (可能命名为 Goal ?) 您只可以向该集合添加项目类型。 就像这个样子︰

Dim goalsToDb = New Goal() ' or whatever the type is called, you'd have to confirm
goalsToDb.Id = 1
goalsToDb.GoalTime = 87
goalsToDb.Scorer = "W Rooney"
goalsToDb.HomeAway = "Home"

db.Goals.InsertOnSubmit(goalsToDb)

db.SubmitChanges()

您可以创建自定义的类来您在应用程序中的数据。 但当使用您的数据访问框架生成的代码 (实体框架? LINQ to SQL 中?)然后你必须使用该框架所生成的类型。 所以,如果您使用自定义类在应用程序中你需要将其值转换为数据库类,与数据库进行交互时。

赞助商