ADO.NET Entities Framework 的增删查改(我自己写的,可以作为范例)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data.Objects;




namespace SportsStore.Models.Abstract
{
    public class ProductRepository : IProductRepository
    {
        SportsStoreEntities db = new SportsStoreEntities();

        //查询全部
        public IQueryable<Product> Products()
        {
            return db.Product;
        }

        //根据名称来查询
        public ObjectSet<Product> GetProductsByName(string _name)
        {

            return (ObjectSet<Product>)db.Product.Where(p => p.Name.Contains(_name));
        }

        //根据ID来查询
        public ObjectQuery<Product> GetProductsByID(int _id)
        {
           return (ObjectQuery<Product>) db.Product.Where(p => p.ProductID == _id);
        }

        //添加一个实体
        public bool AddProdcut(Product _product)
        {
            db.Product.AddObject(_product);

            if (db.SaveChanges() > 0)
            {

                return true;
            }
            else
            {
                return false;
            }
        }

        //删除一个实体
        public bool DeleteProduct(int _id)
        {
            db.Product.DeleteObject(db.Product.Where(p=>p.ProductID==_id).Single());

            if (db.SaveChanges() > 0)
            {

                return true;
            }
            else
            {
                return false;
            }
        }

        //更新Product的Name属性,如果要修改多个属性,类似在 ose.SetModifiedProperty("Name")加上其他的
        public bool UpdatePruduct(Product _product)
        {
            db.Product.Attach(_product);

            ObjectStateEntry ose = db.ObjectStateManager.GetObjectStateEntry(_product);

            ose.SetModified();

            ose.SetModifiedProperty("Name");
            
            if (db.SaveChanges() > 0)
            {
                return true;
            }
            else
            {
                return false;
            }
        }
    }
}

  

转载于:https://www.cnblogs.com/BuBu/archive/2012/08/19/2646556.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值