中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》
  • 首頁 > 
  • 教程 > 
  • 數據庫 > 
  • Entity Framework 的小實例:在項目中添加一個實體類,并做插入操作

Entity Framework 的小實例:在項目中添加一個實體類,并做插入操作

發布時間:2020-06-16 01:29:08 來源:網絡 閱讀:321 作者:鄒君安 欄目:數據庫

Entity Framework 的小實例:在項目中添加一個實體類,并做插入操作

1>. 創建一個控制臺程序
2>. 添加一個 ADO.NET實體數據模型,選擇對應的數據庫與表(StudentModel.edmx)
3>. 控件臺代碼

Entity Framework 的小實例:在項目中添加一個實體類,并做插入操作

        static void Main(string[] args)
        {            // 創建一個網關接口,TestData是數據庫名
            TestDataEntities td = new TestDataEntities();            
            // 創建一個實體對象,Student是表映射過來的對象,將其賦值
            Student st1 = new Student();
            st1.StudentID = "s4";
            st1.StudentName = "test1";
            st1.Age = 20;            // 將實體對象添加到網關接口,插入操作
            td.Student.AddObject(st1);            // 網關保存并改變
            td.SaveChanges();

            Console.WriteLine("添加成功!");
        }

Entity Framework 的小實例:在項目中添加一個實體類,并做插入操作

如上 StudentModel.edmx 是生成的實體模型就是 映射表,里面包含對象于表的定義

Entity Framework 增刪改查 操作


1>. 基本同上
2>. 控件臺代碼

Entity Framework 的小實例:在項目中添加一個實體類,并做插入操作

    class Program
    {        // 創建一個網關接口,TestData是數據庫名,靜態方法只能調用靜態類
        static TestDataEntities stuEntities = new TestDataEntities();        static void Main(string[] args)
        {            // 創建一個實體對象,Student是表映射過來的對象,將其賦值
            Student st1 = new Student();
            st1.StudentID = "s4";
            st1.StudentName = "小明";
            st1.Age = 20;            //InsertStu(st1);            //DeleteStu("s4");            //Student stu2 = FindStudentByID("s4");            //stu2.StudentName = "小明";            //UpdateStu(stu2);            //Console.WriteLine(stu2.StudentName);
            

        }        // 添加操作
        public static void InsertStu(Student stu)
        {            // 將實體對象添加到網關接口,插入操作
            stuEntities.Student.AddObject(stu);            // 網關保存并改變
            stuEntities.SaveChanges();
            Console.WriteLine("添加成功!ID:"+stu.StudentID);
        }        // 刪除操作
        public static void DeleteStu(string ID)
        {
            Student stu = FindStudentByID(ID);
            stuEntities.Student.DeleteObject(stu);
            stuEntities.SaveChanges();
            Console.WriteLine("刪除成功!ID:" + stu.StudentID);

        }        // 更新操作
        public static void UpdateStu(Student stu)
        {            // 其中 var 為 IQueryable<Student>類型,繼承IEnumerable<Student>            // 繼承IEnumerable的類都能實現 foreach
            var student = from s in stuEntities.Student                          where s.StudentID == stu.StudentID                          select s;            // 得到student集合里面的單一實體
            var oldStu = student.SingleOrDefault();            // 修改對應的屬性值
            oldStu.StudentName = stu.StudentName;
            oldStu.Age = stu.Age;            
            // 保存修改
            stuEntities.SaveChanges();
            Console.WriteLine("更新成功!ID:" + stu.StudentID);
        }    // 更新數據 新方法
        public bool UpdateEntity(MvcHotel.Model.Customer entity)
        {            bool result = false;            // 添加對象到上下文
            he.Attach(entity);            // 改變新加入對象的狀態,設置為 已修改
            he.ObjectStateManager.ChangeObjectState(entity, System.Data.EntityState.Modified);            if (he.SaveChanges() > 0)
            {
                result = true;
            }            return result;
        }        // 查詢操作
        public static Student FindStudentByID(string ID)
        {        // 方式1: Linq to EF            // 根據ID查詢Student,并得到集合中的單一實體
            var stu = (from s in stuEntities.Student                       where s.StudentID == ID                       select s).SingleOrDefault();        // 方式2: Entity SQL
            string sql = "select Value c from TestDataEntities.Student as c ";
            ObjectQuery<Student> query = stuEntities.CreateQuery<Student>(sql);
            ObjectResult<Student> results = query.Execute(MergeOption.NoTracking);            //return stu;
            return query.SingleOrDefault();
        }
    }

Entity Framework 的小實例:在項目中添加一個實體類,并做插入操作

EF中操作數據庫的網關

ObjectContext封裝 .NET Framework 和數據庫之間的連接。此類用作“創建”、“讀取”、“更新”和“刪除”操作的網關
ObjectContext 類為主類,用于與作為對象(這些對象為 EDM 中定義的實體類型的實例)的數據進行交互
ObjectContext 類的實例封裝以下內容:
a> 到數據庫的連接,以 EntityConnection 對象的形式封裝。
b> 描述該模型的元數據,以 MetadataWorkspace 對象的形式封裝
c> 用于管理緩存中持久保存的對象的 ObjectStateManager 對象


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

永年县| 柏乡县| 兖州市| 阿拉善左旗| 虞城县| 青州市| 桦川县| 安远县| 邢台市| 奉节县| 姚安县| 鄄城县| 内丘县| 恩施市| 石景山区| 威信县| 会昌县| 晴隆县| 嵊州市| 日土县| 灌南县| 隆昌县| 石棉县| 棋牌| 鄂尔多斯市| 洛阳市| 岳西县| 沅江市| 怀集县| 邵阳市| 江西省| 新昌县| 侯马市| 阿克陶县| 台北市| 静海县| 察雅县| 灵川县| 通榆县| 巴马| 炎陵县|