Asp.net

MVC(MyStoreEntities)

2017-11-14  本文已影响14人  余生筑

Entity Framework(EF框架)

  1. 创建一个上下文类(MyStoreEntities)==>连接到数据库后Entity Framework会自动生成它
  2. 在连接到数据库后,在web.config文件中增添连接串,这个连接串的名字与上下文类的名字相同==>需要开发者手动添加
<connectionStrings>
    <add name="MyStoreEntities" connectionString="metadata=res://*/Concrete.MyStore.csdl|res://*/Concrete.MyStore.ssdl|res://*/Concrete.MyStore.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=DESKTOP-6SVSFQS\SQLEXPRESS;initial catalog=MyStore;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />
  </connectionStrings>

MyStoreEntities

public partial class MyStoreEntities : DbContext
    {
        public MyStoreEntities()
            : base("name=MyStoreEntities")
        {
        }
        ......
        public virtual DbSet<Category> Category { get; set; }
        public virtual DbSet<Order> Product { get; set; }
        ......
    }

实现存储库类

public class EFProductRepository:IProductsRepository
    {
        private MyStoreEntities db = new MyStoreEntities();
        public IQueryable<Product> Products
        {
            get { return db.Product; }
        }
        public IQueryable<Category> Categories
        {
            get { return db.Category; }
        }
        public IQueryable<Customer> Customers
        {
            get { return db.Customer; }
        }
    }

实现业务处理类

  public class DatabaseOrderProcessor : IOrderProcessor
    {
        public void ProcessOrder(Cart cart, ShippingAddress shippingInfo, Customer customer)
        {         
                       var db = new MyStoreEntities()
                        Order order = new Order();
                        order.CustomerId = customer.Id;
                        order.OrderDate = DateTime.Now;
                        .......
                        db.Order.Add(order);//修改db属性
                        db.SaveChanges();//db向数据库提交改变
            }
        }
    }
上一篇 下一篇

猜你喜欢

热点阅读