繁体   English   中英

使用LINQ在C#中按类将列表中的元素添加到数据库

[英]Add element from list to database by class in c# using 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;


}

Table ATable B是否具有相同的结构? 如果是这样,听起来好像您在数据库架构级别遇到了问题,因为它没有正确规范化。 如果不是,则:

  1. 从您的DbContext创建一个新事务。
  2. Table A查询要提取的项目并将其放在Table B (我们称此Table A Object )。
  3. 创建一个新的Table B Object
  4. 使用Table B Object中的数据填充Table B Object Table A Object
  5. 使用DbContext.Add(TableBObject)Table B Object添加到上下文中
  6. 保存上下文更改。
  7. 如果更改成功,则使用DbContext.Remove(TableAObject)并提交事务
  8. 如果更改不成功,则回滚事务。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM