2016-07-05 4 views
0

В настоящее время у меня есть заполненный тип данных, но мне трудно вставить его в мою существующую (пустую) базу данных.Вставка данных в SQL Server

Я также изучил sqlbulkcopy, но не имел большой удачи.

Хотя с помощью Entity Framework Я хотел бы ожидать:

_db.TableName.AddRange(dt); 

Чтобы правильно вставить новые данные из моего DataTable.

В каком месте я ошибаюсь?

+0

Какая у вас ошибка? – techspider

+0

Обычно вы не работали с DataTable и Entity Framework в одно и то же время. –

+0

@techspider не может преобразовать System.Data.Datatable в System.Collections.Generic.IEnumerable confusedandamused

ответ

0

Вам не хватает нескольких шагов. Сначала вам нужно создать таблицу в базе данных, это обычно делается не во время выполнения по множеству сложных причин. Структурный код исследовательского объекта Сначала для получения более подробной информации о том, как это сделать.

Во-вторых, если вы действительно хотите использовать Entity Framework, вам нужно будет преобразовать таблицу данных в набор объектов нужного типа.

Честно говоря, хотя я бы избегал Entity Framework и встраивал сценарий CREATE TABLE (или даже лучше определить его перед выполнением), а затем использовать SqlBulkCopy, просто отметьте, что SqlBulkCopy нуждается в таблице, определенной заранее.

+0

Какова была бы сценария CREATE TABLE, если бы я (и уже) создал структуру базы данных/таблицы в MSSQL Server? – confusedandamused

+0

@confusedandamused: Вы сказали, что пустая база данных и не упоминает создаваемую таблицу. – Guvante

+0

Я ошибся - пустым Я имел в виду, что база данных существовала, а также структура таблицы (столбцы) были определены и соответствуют таблице данных. – confusedandamused

Смежные вопросы