2016-09-15 10 views
0

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

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クラスは、あなたがあなたのデータコンテキストに接続されていないので、提出されていません新しい 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; } 
} 

答えて

0

です。

以下は

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(); 

を働くかもしれませんが、これはあなたのデータベースからすべての列を引っ張っていることを意味します。