MVC(MyStoreEntities)

Entity Framework(EF框架)

  • Entity Framework負(fù)責(zé)將模型與數(shù)據(jù)庫關(guān)聯(lián)起來
  • Entity Framework需要兩件事以實(shí)現(xiàn)它的上述目的
  1. 創(chuàng)建一個(gè)上下文類(MyStoreEntities)==>連接到數(shù)據(jù)庫后Entity Framework會(huì)自動(dòng)生成它
  2. 在連接到數(shù)據(jù)庫后,在web.config文件中增添連接串,這個(gè)連接串的名字與上下文類的名字相同==>需要開發(fā)者手動(dòng)添加
<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; }
        ......
    }
  • MyStoreEntities繼承于上下文類DbContext
  • MyStoreEntities具有DbSet(模型)類型的屬性,其值對(duì)應(yīng)數(shù)據(jù)庫的每張表
  • 我們通常通過MyStoreEntities的實(shí)例來對(duì)數(shù)據(jù)庫進(jìn)行讀寫,具體有如下應(yīng)用

實(shí)現(xiàn)存儲(chǔ)庫類

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

實(shí)現(xiàn)業(yè)務(wù)處理類

  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向數(shù)據(jù)庫提交改變
            }
        }
    }
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容