【问题标题】:Entity Framework Insert record without "addto" method没有“addto”方法的实体框架插入记录
【发布时间】:2015-12-16 10:25:26
【问题描述】:

我是 EF 的新手。我有一些代码可以成功地在表中插入一条记录。但是,它使用自动生成的“addto ...”方法,我理解它已被贬值。我已经看到使用“添加”方法的参考,但遇到了麻烦。这是有效的代码:

    Dim EntityContext As New DevEntities
    Dim log2 As New tblLog2

    log2.Error = "This is a test."
    log2.Date = System.DateTime.Now
    EntityContext.AddTotblLog2(log2)
    EntityContext.SaveChanges()

插入这条记录的“正确”方法是什么(请用vb)?

【问题讨论】:

    标签: vb.net entity-framework-4 crud


    【解决方案1】:

    是的,你需要使用ObjectSet<TEntity>.AddObject Method

        ...
        EntityContext.tblLog2s.AddObject(log2)
        EntityContext.SaveChanges()
    

    基本上ObjectSet.AddObjectObjectContext.AddObject method 的包装,所以上面的调用相当于:

    EntityContext.AddObject("tblLog2s", log2)    
    

    注意:我假设tblLog2stblLog2 实体的EntitySet 名称。

    【讨论】:

      【解决方案2】:

      如果您使用的是设计器生成的类(而不是您自己的模板),您会这样做:

      Dim EntityContext As New DevEntities
      Dim log2 As New tblLog2
      
      log2.Error = "This is a test."
      log2.Date = System.DateTime.Now
      EntityContext.tblLog2.AddObject(log2)
      EntityContext.SaveChanges()
      

      设计师还会为您创建以下方法,您可以使用:

      AddTotblLog2(ByRef item As tblLog2)  
      

      我猜测那里的确切签名,但你明白了。

      【讨论】:

        猜你喜欢
        • 2016-10-31
        • 2016-08-09
        • 2015-04-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多