Linq to SQL Join IQueryable设置某些属性

时间:2012-10-10 20:18:44

标签: c# 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();

但是让我在t1上有一个我想用t2设置的字段。但是我不想重新映射来自t1的所有字段,我只想要能够从t2映射t1中的特定字段...

1 个答案:

答案 0 :(得分: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;
}

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