我是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)?
答案 0 :(得分:2)
是的,您需要使用ObjectSet<TEntity>.AddObject Method:
...
EntityContext.tblLog2s.AddObject(log2)
EntityContext.SaveChanges()
基本上 ObjectSet.AddObject 是ObjectContext.AddObject method的包装,因此上述调用相当于:
EntityContext.AddObject("tblLog2s", log2)
注意:我假设tblLog2s
是tblLog2
实体的EntitySet名称。
答案 1 :(得分:0)
如果你使用的是由设计师生成的类(而不是你自己的模板),你可以这样做:
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)
我猜测那里的确切签名,但你明白了。