2009-04-15 84 views
0

我該怎麼做,即保持映射分離?用LinqtoSql返回域映射列表

取而代之的是:

var people= (from p in db.people select new Person{ 
               id=p.id, 
               name=p.name 
               }).ToList(); 

我想這樣做:

var people= (from p is db.people select new Person { 
             ***MAPTODOMAIN(p)*** 
             }).ToList(); 

回答

1

假設模型中的那個人是不是在LINQ2SQL數據上下文而代類域類AppUser作爲數據上下文中的類(爲了清晰起見,因爲名稱在您的示例中非常相似),則可以這樣工作:

var people = (from p in db.AppUsers select MapPerson(p)).ToList(); 

它在代碼中使用與此相似的方法:

private Person MapPerson(AppUser user) 
{ 
    return new Person {Id = user.Id, Name = user.Name}; 
}