Добавить элемент из списка в базу данных по классу в C # с помощью LINQ - PullRequest
0 голосов
/ 03 января 2019

Я создал модель данных, используя EntityFramework, и с помощью соответствующих запросов я получаю данные из базы данных. Мне бы хотелось, чтобы кнопка могла удалить все документы, которые будут помечены как WZ (номер документа). Я создал класс HistoryWZ, который будет новой таблицей, хранящей историю, и я хотел бы использовать запрос LINQ для извлечения данных из одной таблицы, передачи их во вторую таблицу и удаления из первой таблицы.

Используя LINQ, я получил список данных:

EntitiesSito ent = new EntitiesSito();
        dynamic wkaa = datagridview.SelectedItem;
        string actwuzetka = wkaa.WZ.ToString();

        var skad = (from d in ent.WZ_DWS_SITO
                    where d.WZ == actwuzetka
                    select new
                    {
                        d.WZ,
                        d.KUNNR
                    }).ToList();

Я хотел бы использовать созданный класс для передачи данных в таблицу с помощью LINQ ofc.

Моя историяWZ класс:

ublic class HistoryWZ
{
    public string NrWZ { get; set; }
    public string ODBIORCA { get; set; }
    public string DataWZ { get; set; }
    public string INDEKS { get; set; }
    public string MATERIAL { get; set; }
    public string PARTIA { get; set; }
    public decimal ILOSC { get; set; }
    public string NAZWA_MATERIALU { get; set; }
    public string PRZYCZYNA { get; set; }
    public decimal CENAMIN{ get; set; }
    public decimal CENASPRZ { get; set; }
    public decimal VPRS { get; set; }
    public decimal MARZA { get; set; }

    public string user = System.Security.Principal.WindowsIdentity.GetCurrent().Name;


}

1 Ответ

0 голосов
/ 03 января 2019

Являются ли Table A и Table B одной и той же структурой? Если это так, похоже, у вас есть проблема на уровне схемы базы данных, поскольку она не нормализована должным образом Если нет, то:

  1. Создайте новую транзакцию из вашего DbContext.
  2. Запрос на предмет, который вы хотите взять с Table A и поместить в Table B (Мы назовем это Table A Object).
  3. Создать новый Table B Object.
  4. Заполните Table B Object данными из Table A Object.
  5. Добавьте Table B Object в контекст с DbContext.Add(TableBObject)
  6. Сохранить изменения контекста.
  7. Если изменения были успешными, используйте DbContext.Remove(TableAObject) и совершить транзакцию
  8. Если изменения не увенчались успехом, откат транзакции.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...