2017-01-07 11 views

答えて

2
であることを partRefレコードの partRef(この場合は366で)にを更新したいです

あなたが何をしようとして全くわからない.... はあなたがテーブル全体を更新したいを想定して、あなたはこのような何かを試みることができます

  • 各アイテム上List<StcDocItems>
  • ループとしてメモリにロードテーブル全体を、それが一致するエントリがあるかどう - もしそうなら、それでこれは、これを行うためのコードであろう

それを更新します。 TSQLでこれを行うにはどのようにあなたの助けを

public class StcDocItems 
{ 
    public int Id { get; set; } 
    public int PartRef { get; set; } 
    public int DocRefType { get; set; } 
    public int? ItemRef { get; set; } 
} 

using(YourDbContext ctx = new YourDbContext()) 
{ 
    // get all rows from table 
    List<StcDocItems> allItems = ctx.StcDocItems.ToList(); 

    // iterate over items 
    foreach(StcDocItems item in allItems) 
    { 
     // do we find a row which has "ItemRef = Id" and "DocTypeRef = 63" ? 
     StcDocItems updateToItem = allItems.FirstOrDefault(i => i.ItemRef = item.Id && i.DocTypeRef = 63); 

     // if we found an item 
     if(updateToItem != null) 
     { 
      // set the partRef to new item's partRef 
      item.PartRef = i.PartRef; 
     } 
    } 

    // save any changes back to database table 
    ctx.SaveChanges(); 
} 
+0

おかげで、 –

1
Update StcDocItems set partRef =366 where itemRef=id and DocTypeRef =63 
関連する問題