.NET之EntityFramework架構運用

來源:互聯網
上載者:User

標籤:style   ase   namespace   catch   get   query   提交   選擇   .text   

1.建立EF模型庫

建立類庫--》添加建立項--》選擇ADO.NET實體資料模型--》選擇 來自資料庫的EF選取器--》設定資料庫連結以及相應的資料庫--》看底部(將app.Config中連結設定另存新檔)預設值改成你需要空間名(DemoEntity)--》Entity Framework6.X--》選擇相應的表--》模型命名空間;改成你需要的空間名:(Demo.EntityModel),點擊完成

 

2.建立實作類別庫

引用剛剛的EF實體庫

 

3.添加相應的NuGet包:搜尋:EntityFramework

點擊安裝;

 

4.開始操作EF模型庫

using EntityModel;using System;using System.Collections.Generic;using System.Data.Entity;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Transactions;namespace EntityFrameworkDB{    class DB    {        public static void Add()        {            using (var dbContext = new DemoEntity())            {                var awardPool = new GXL_AwardPool()                {                    ShopId = 2                };                dbContext.GXL_AwardPool.Add(awardPool);                dbContext.SaveChanges();            }        }        public static void Update()        {            using (var dbContext = new DemoEntity())            {                var awardPool = new GXL_AwardPool()                {                    ID = 1,                    ShopId = 2                };                dbContext.GXL_AwardPool.Attach(awardPool);                dbContext.Entry(awardPool).State = EntityState.Modified;                dbContext.SaveChanges();            }        }        public static void Del()        {            using (var dbContext = new DemoEntity())            {                var awardPool = new GXL_AwardPool()                {                    ID = 1                };                dbContext.GXL_AwardPool.Attach(awardPool);                dbContext.GXL_AwardPool.Remove(awardPool);                dbContext.SaveChanges();            }        }        public static void GetModel()        {            using (var dbContext = new DemoEntity())            {                //查詢單個實體                var awardPool = dbContext.GXL_AwardPool.FirstOrDefault(x => x.ID == 1);                //查詢多個實體                var awardPoolList = dbContext.GXL_AwardPool.Where(x => x.ShopId == 1).ToList();                //通過sql語句查詢單個實體                //dbContext.Database.SqlQuery<ShopsMyDto>(sql).FirstOrDefault();                //通過sql語句查謁多個實體                //dbContext.GXL_AwardPool.Where(x => x.ShopId == 1).ToList();            }        }        /// <summary>        /// 提交事務        /// </summary>        public static void Tijiao()        {            using (var dbContext = new DemoEntity())            {                using (var scope = new TransactionScope())                {                    try                    {                        var awardPool = new GXL_AwardPool()                        {                            ShopId = 2                        };                        dbContext.GXL_AwardPool.Add(awardPool);                        var awardPoolIn = new GXL_AwardPoolIn()                        {                            ID = 1,                            ShopId = 2                        };                        dbContext.GXL_AwardPoolIn.Attach(awardPoolIn);                        dbContext.Entry(awardPoolIn).State = EntityState.Modified;                        //進行事務提交                        dbContext.SaveChanges();                        scope.Complete();                    }                    catch                    {                    }                }            }        }    }}

 

.NET之EntityFramework架構運用

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.