使用LINQ

时间:2019-01-03 15:16:09

标签: c# entity-framework linq

我使用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将数据传递到表中。

我的HistoryWZ课:

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 :(得分:0)

Table ATable 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. 如果更改不成功,则回滚事务。