linq版本E-Commerce网站示例

本文分享了使用LINQ重写E-Commerce应用程序的经历,介绍了如何减少代码量并简化查询操作,包括获取历史订单信息及订单产品详情。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

       在家把E-Commerce的代码换成了linq版本的,代码量少了很多,看来做的工作越来越少,程序员的工资又要跌了...

代码不保证全部正确,只用于学习,需要的可以看看,运行环境当然是 .net3.5了...

值得注意的是,当表关系不存在一对一或多对多的时候,你还是需要手动创建实体.

如购物车和产品两个表都有productid,你必须重新创建一个实体来获取两个表的数据

贴一小段代码

   private   readonly   static   string  connString  =  ConfigurationManager.ConnectionStrings[ " connectionstring " ].ConnectionString;

    
private  ECommerceDb db;

    
/// <summary>
    
/// 获取历史订单信息
    
/// </summary>
    
/// <param name="customerID"></param>
    
/// <returns></returns>

     public  IQueryable < ESK_Orders >  GetOrders( string  customerID)
    
{
        db 
= new ECommerceDb(connString);
        var q 
=
        from o 
in db.ESK_Orders
        where o.CustomerID
==customerID orderby o.OrderDate descending
        select o;
        
return q;
    }


    
/// <summary>
    
/// 获取订单产品信息
    
/// </summary>
    
/// <param name="orderID"></param>
    
/// <returns></returns>

     public  IQueryable GetOrderItems( int  orderID)
    
{
        db 
= new ECommerceDb(connString);
        var q 
=
        from o 
in db.ESK_OrderDetails
        from p 
in db.ESK_Products
        where o.OrderID 
== orderID && o.ProductID==p.ProductID
        select 
new {o.Quantity,p.ProductName,o.ProductID,p.UnitCost };
        
return q;
    }


示例代码下载
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值