鉴于:
Foo
BarId
P1
P2
P3
Bar
P4
P5
P6
我怎么能读Foo和酒吧,只有某些属性? 例如:
Foo {
P1 = 111
Bar = { P4 = 444 }
}
天真的解决方案:
public Foo Read(int id)
{
using (DbDataContext db = new DbDataContext())
{
var query =
from f in db.Foos
join b in db.Bars
on f.BarId equals b.Id
where f.Id == id
select new
{
P1 = f.P1,
P4 = b.P4
};
var data = query.SingleOrDefault();
return new Foo
{
P1 = data.P1,
Bar = new Bar { P4 = data.P4 }
};
}
}
可以这样做更简单?