Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/262.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Linq如何将两列的所有值移动到另一个表中_C#_Asp.net_Sql_Linq_Linq To Sql - Fatal编程技术网

C# Linq如何将两列的所有值移动到另一个表中

C# Linq如何将两列的所有值移动到另一个表中,c#,asp.net,sql,linq,linq-to-sql,C#,Asp.net,Sql,Linq,Linq To Sql,我想将表中的两列移动到另一个表中。我可以选择要移动的值,但无法移动它们。我怎么做这个?这是我的实现 var cartQuery = (from c in db.CartTbls.AsQueryable() join cs in db.CartShoeTbls on c.CartID equals cs.CartID where c.CustomerID == cus

我想将表中的两列移动到另一个表中。我可以选择要移动的值,但无法移动它们。我怎么做这个?这是我的实现

var cartQuery = (from c in db.CartTbls.AsQueryable()
                                 join cs in db.CartShoeTbls on c.CartID equals cs.CartID
                                 where c.CustomerID == cusID
                                 select new {c.CustomerID,c.TotalPrice,cs.ShoeID,cs.Quantity});

我要做的是复制ShoeID和Quantity属性的所有值。欢迎提供任何帮助。

用户应将所选内容添加到表中并保存更改:

foreach (var item in cartQuery)
    db.OrderShoeTbl.Add(new OrderShoe()
        { ShoeID = item.ShoeID, Quantity = item.Quantity });

db.SaveChanges();
如果您使用的是Linq to SQL,则插入是不同的,应该如下所示:

foreach (var item in cartQuery)
    db.OrderShoeTbl.InsertOnSubmit(new OrderShoe()
        { ShoeID = item.ShoeID, Quantity = item.Quantity });

db.SubmitChanges();

用户应将所选内容添加到表中并保存更改:

foreach (var item in cartQuery)
    db.OrderShoeTbl.Add(new OrderShoe()
        { ShoeID = item.ShoeID, Quantity = item.Quantity });

db.SaveChanges();
如果您使用的是Linq to SQL,则插入是不同的,应该如下所示:

foreach (var item in cartQuery)
    db.OrderShoeTbl.InsertOnSubmit(new OrderShoe()
        { ShoeID = item.ShoeID, Quantity = item.Quantity });

db.SubmitChanges();

Stefan的回答是可以的,但是您可以在一个步骤中插入所有内容:

var cartQuery = (from c in db.CartTbls.AsQueryable()
        join cs in db.CartShoeTbls on c.CartID equals cs.CartID
        where c.CustomerID == cusID
        select new OrderShoeTbl{ShoeID = c.ShoeID, Quantity = c.Quantity});

    db.OrderShoeTbl.InsertAllOnSubmit(cartQuery);

    db.SubmitChanges();
编辑


如果您想从源表中删除数据,我也会将所有内容包装在单个事务中,以避免出现错误时出现不一致。

Stefan的回答是可以的,但是您可以在一个步骤中插入所有内容:

var cartQuery = (from c in db.CartTbls.AsQueryable()
        join cs in db.CartShoeTbls on c.CartID equals cs.CartID
        where c.CustomerID == cusID
        select new OrderShoeTbl{ShoeID = c.ShoeID, Quantity = c.Quantity});

    db.OrderShoeTbl.InsertAllOnSubmit(cartQuery);

    db.SubmitChanges();
编辑



如果您想从源表中删除数据,我也会将所有内容包装在单个事务中,以避免出现错误时出现不一致。

目标实体中有哪些属性?您是否有对应于该目标实体的单独表?请再解释一下您要做的事情。哪一个是源表,哪一个是目标表,需要移动多少条记录,以什么为单位…你说要“移动”数据,这是否意味着要将其从源表中删除,还是只需要将其复制到另一个表中?此查询返回源表中的值,我还得到了一个目标表,它们的属性是匹配的。我想在移动原始表后将其删除。能否显示目标表的名称?目标实体中有哪些属性?您是否有对应于该目标实体的单独表?请再解释一下您要做的事情。哪一个是源表,哪一个是目标表,需要移动多少条记录,以什么为单位…你说要“移动”数据,这是否意味着要将其从源表中删除,还是只需要将其复制到另一个表中?此查询返回源表中的值,我还得到了一个目标表,它们的属性是匹配的。我想在移动原始表中的数据后将其删除。能否显示目标表的名称?VS2012显示当前上下文中不存在ShoeID和数量提供的
DestTableEntity
是Tartar想要选择的对象。:)@Tartar确保它们存在于源实体和目标实体中我确信它们存在exist@Stefan:目标表不是源表。根据注释:“此查询从源表返回值,我也得到了一个目标表,它们的属性匹配”VS2012表示当前上下文中不存在ShoeID和Quantity提供的
DestTableEntity
是Tartar想要选择的对象。:)@Tartar确保它们存在于源实体和目标实体中我确信它们存在exist@Stefan:目标表不是源表。根据注释:“此查询从源表返回值,我也得到了一个目标表,并且它们的属性匹配”没有添加方法DestinationTable@Tartat,您需要将目标表的名称放在那里。它应该以与CartTbls相同的方式生成。我将目标表的名称替换为它,但仍然没有添加method@Tartat:您正在使用哪个linq提供程序?LINQ2SQL?Linq 2实体?实体框架?请检查更新。我使用的是linq 2 SQL,没有添加方法DestinationTable@Tartat,您需要将目标表的名称放在那里。它应该以与CartTbls相同的方式生成。我将目标表的名称替换为它,但仍然没有添加method@Tartat:您正在使用哪个linq提供程序?LINQ2SQL?Linq 2实体?实体框架?请检查更新。我正在使用linq 2 sql