0

adcからデータベースに更新するデータを取得できません。LINQ2SQL dbml を使用しています。CAPcontext.Log から sql 出力が得られず、両方のテーブルにプライマリ ID があります。LINQ クエリの結合に問題があると感じていますが、それに関する Web 上の情報は見つかりませんでした。誰かが私が間違っていることを指摘できますか?

   CAP_MDF_dataContextDataContext CAPcontext = new CAP_MDF_dataContextDataContext();

 public bool LoadCAPadultdaycare()
    {
        CAPcontext.Log = Console.Out;
        var adc = (from v in CAPcontext.AdultDayCares
                   join s in CAPcontext.States on v.state equals s.Name
                 select new CAPadultdaycare {
                     Avg = v.Avg,
                     City = v.city,
                     High = v.High,
                     Low = v.Low,
                     StateFullName = v.state,
                     StateAbbr = s.Code                     
                 }).ToList();

  foreach (var item in adc)
        { item.City = "some city";
             // updating more fields but omitted here
         }

 CAPcontext.SubmitChanges();
 return true;
}

私の CAPadultdaycare クラスは...

 public class CAPadultdaycare
{
    public decimal? High { get; set; }
    public decimal? Low { get; set; }
    public decimal? Avg { get; set; }
    public string Zip { get; set; }   
    public string City { get; set; }
    public string StateAbbr { get; set; }
    public string StateFullName { get; set; }
}
4

1 に答える 1

0

新しいCAPadultdaycare オブジェクトを作成していますが、これはデータ コンテキストに関連付けられていないため送信されません。

以下はうまくいくかもしれません

var adc = (from v in CAPcontext.AdultDayCares
               join s in CAPcontext.States on v.state equals s.Name
             select v).ToList();

foreach (var item in adc)
    { item.City = "some city";
         // updating more fields but omitted here
     }

CAPcontext.SubmitChanges();

ただし、これはデータベースからすべての列を取得していることを意味します。

于 2016-09-15T21:17:39.103 に答える