使用LINQ设置和返回对象

时间:2011-01-18 12:34:25

标签: visual-studio linq entity-framework

我在Visual Studio 2010中有一个使用Entity Framework的MVC 2项目,我有一个类'ProductModel',它正在执行LINQ查询以从数据库返回产品。

我想返回Products对象而不是默认的“实体”查询对象,所以我发现我必须这样做:

 var product = from x in productosBD.Products
                       where x.Id == id
                       select new ProductoModels { Id = x.Id, NombreCorto = x.NombreCorto, NombreLargo = x.NombreLargo, Pvp = x.Pvp .... };

问题是我必须使用数据库表的所有属性进行所有分配(可能很容易30)所以我的问题是:有没有办法用我的对象类自动映射数据库实体?类似的东西:

            var product = from xin productosBD.Products 
                       where x.Id == id
                       select x;

但是重新检查一个Products对象?

提前致谢

1 个答案:

答案 0 :(得分:0)

Automapper:http://automapper.codeplex.com/

http://www.lostechies.com/blogs/jimmy_bogard/archive/2009/01/22/automapper-the-object-object-mapper.aspx

public static void Configure() {
    Mapper.CreateMap<Order, OrderViewModel>();
    Mapper.CreateMap<OrderLineItem, OrderLineItemViewModel>(); 
}


var viewModel = Mapper.Map<Order, OrderViewModel>(order);