一尘不染

使用SqlCe和EntityFramework进行插入和更新的语法

sql

VS 2008, SqlCe 3.5

我正在尝试学习EntityFramework,但无法获得基本的插入和更新功能。当包含SqlCe数据库(.sdf)时,向导将创建Test.edmx /
designer.vb文件。由此,我创建了我的数据上下文,如下所示。表名称是“用户”。

我的实体类的语法似乎与Web上的示例有些不同。这有点令人困惑,我不知道为什么会这样。下面,我展示了两种不同的Insert方法,这两种方法都在.SaveChanges行中给出了例外:

An error occurred while updating the entries. See the InnerException for details.

{“ SQL Server Compact不支持服务器生成的键和服务器生成的值。”}

还有Update方法,我真的不知道在缺少的部分写些什么。对于这些问题上的一些帮助,我们将非常高兴。

Public Sub Insert(ByVal user As Users)
    Dim ctx As New TestDBEntities1(connection)
    ctx.Users.Context.AddObject("Users", user)
    ctx.Users.Context.SaveChanges()
End Sub

Public Sub Insert(ByVal user As Users)
    Dim ctx As New TestDBEntities1(connection)

    ctx.AddToUsers(user)
    ctx.SaveChanges()
End Sub


Public Sub Update(ByVal user As Users)
    Dim ctx As New TestDBEntities1(connection)
    Dim q = (From n In ctx.Users Where n.Id = user.Id Select n).Single

    ' How to update ??

    ctx.SaveChanges()
End Sub

阅读 147

收藏
2021-03-08

共1个答案

一尘不染

如以上评论;这已在SQL CE 4.0中修复。

2021-03-08