2012-10-10 27 views
1

这可能吗?Linq to SQL加入IQueryable设置某些属性

比方说,我有一个简单的IQueryable加入象下面这样:

  var x = from t1 in Repo.GetThing1() 
        join t2 in Repo.GetThing2() on t1.Key equals t2.Key 
        select t1).ToList(); 

但是,让我们有,我想和T2设置在T1的字段。不过,我不想从T1领域重新映射,我只是希望将特定字段映射从T2 T1的能力...

回答

3

肯定的:

var query = from t1 in Repo.GetThing1() 
      join t2 in Repo.GetThing2() on t1.Key equals t2.Key 
      select new { Existing = t1, NewValue = t2.SomeField }; 

var list = query.ToList(); 

foreach (var pair in list) 
{ 
    pair.Existing.SomeField = pair.NewValue; 
} 

(然后你可以做任何你想要的,当然。)

+0

当然真棒! Thx老兄 – aherrick