2010-11-12 1 views
0

Я новичок в EF. У меня есть код, который успешно вставляет запись в таблицу. Тем не менее, он использует автогенерированный метод «addto ...», который, как я понимаю, обесценивается. Я видел ссылки на использование метода «добавить», но у меня проблемы. Вот код, который работает:Entity Framework Вставить запись без метода «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() 

Что такое «правильный» способ вставить эту запись (пожалуйста, пожалуйста)?

ответ

2

Да, вам нужно использовать ObjectSet<TEntity>.AddObject Method:

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

В основном ObjectSet.AddObject обертка вокруг ObjectContext.AddObject method поэтому выше вызов эквивалентен:

EntityContext.AddObject("tblLog2s", log2)  

Примечание: Я полагаю, что tblLog2s является именем EntitySet объекта tblLog2.

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) 

Я догадываюсь на точную подпись там, но вы получаете эту идею.