Vb.net 升级到实体框架

Vb.net 升级到实体框架,vb.net,entity-framework,entity-framework-6,Vb.net,Entity Framework,Entity Framework 6,我正在尝试将id恢复到程序中用户创建的最后一个文档。最初的SQL工作不是我自己的,但我的任务是升级到EF。下面是代码片段。只需要知道如何更改语法,使其使用EF即可。(使用VB.Net) 我已经尝试过的: DocNow = (From a In Db.Documents Where a.ModifiedBy = Environment.UserName.ToLower) 与DB的连接定义为: 'query the database Dim IdNow As Integer = DocumentI

我正在尝试将id恢复到程序中用户创建的最后一个文档。最初的SQL工作不是我自己的,但我的任务是升级到EF。下面是代码片段。只需要知道如何更改语法,使其使用EF即可。(使用VB.Net)

我已经尝试过的:

DocNow = (From a In Db.Documents Where a.ModifiedBy = Environment.UserName.ToLower)
与DB的连接定义为:

'query the database
Dim IdNow As Integer = DocumentId
Dim DocNow As IEnumerable(Of Documents) = (From a In Db.Documents Where a.IdDocuments = IdNow).ToList
以下是bwyn帮助后的当前代码(包括SQL):


这将查询当前用户的文档,选择id,然后返回最大id:

    Dim context As New Context()
    Dim lastId As Integer
    Dim currentUser As String = Environment.UserName.ToLower()
    lastId = context.Documents.Where(Function(doc) doc.ModifiedBy = currentUser).Select(Function(doc) doc.Id).Max()
编辑:我的上下文类

Public Class Context
    Inherits DbContext

    Public Property Documents As DbSet(Of Document)

End Class

1) 由于SQL一般不区分大小写,因此不需要调用
ToLower
。2) 这段代码有什么问题吗?没有,这段代码目前还可以使用,但是我已经重新格式化了大部分代码,不使用数据表和数据行,而是使用ienumerables。我想这会有用的,但是我应该添加什么“使用”呢?使用上下文作为新上下文()很抱歉,我的意思是导入。当我实现您的代码时,它在“Dim context as New context()”上给了我一个错误。当我使用intellisense时,它建议的任何导入都不会修复错误。我使用了以下导入语句:imports System.Data.Entity。我将在我的答案中发布我的上下文类。好的,这应该有效。不幸的是,我暂时无法测试它,因为我还有大约170个其他错误需要修复,但我会回来确认!
    Dim context As New Context()
    Dim lastId As Integer
    Dim currentUser As String = Environment.UserName.ToLower()
    lastId = context.Documents.Where(Function(doc) doc.ModifiedBy = currentUser).Select(Function(doc) doc.Id).Max()
Public Class Context
    Inherits DbContext

    Public Property Documents As DbSet(Of Document)

End Class