Entity Framework Вставка записи без метода "addto" - PullRequest
0 голосов
/ 12 ноября 2010

Я новичок в EF.У меня есть код, который успешно вставляет запись в таблицу.Тем не менее, он использует автоматически сгенерированный метод "addto ...", который, как я понимаю, не рекомендуется.Я видел ссылки на использование метода "add", но у меня возникли проблемы.Вот код, который работает:

    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 ]

2 голосов
/ 12 ноября 2010

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

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

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

EntityContext.AddObject("tblLog2s", log2)    

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

0 голосов
/ 12 ноября 2010

Если вы используете классы, сгенерированные дизайнером (а не ваши собственные шаблоны), вы должны сделать:

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)  

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

...