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