2009-04-15 81 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}; 
}