实体框架插入没有“addto”方法的记录

时间:2010-11-12 14:48:02

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

我是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)?

2 个答案:

答案 0 :(得分:2)

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

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

基本上 ObjectSet.AddObject ObjectContext.AddObject method的包装,因此上述调用相当于:

EntityContext.AddObject("tblLog2s", log2)    

注意:我假设tblLog2stblLog2实体的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)  

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