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;
}
}
}
}