Entity Framework

Entity Framework

基本用法(CRUD)

1.插入:

// Create entity context
MyTest2Entities mt = new MyTest2Entities(); // Create an instance of SClass
SClass sc = new SClass(); sc.AddTime = DateTime.Now; sc.Name = "Class 1"; // Insert the instance into database
mt.SClasses.Add(sc); int count = mt.SaveChanges(); Console.WriteLine(count.ToString());

2.修改:

// Create entity context
MyTest2Entities mt = new MyTest2Entities(); // Create an instance need modified
SClass sc = new SClass(); sc.Id = 2; sc.Name = "Kyle"; sc.AddTime = DateTime.Now; // Attach the entity need modified
mt.SClasses.Attach(sc); // Modify execute status
mt.Entry(sc).State = System.Data.Entity.EntityState.Modified; mt.SaveChanges();

3.查询:

#region Multiple record query MyTest2Entities mt = new MyTest2Entities(); var classes = from c in mt.SClasses where c.Id < 10
                select c; foreach (var item in classes) { Console.WriteLine(item.Name); } #endregion

#region Single record query MyTest2Entities mt = new MyTest2Entities(); var single = (from c in mt.SClasses where c.Id == 1
                select c).FirstOrDefault(); if (single != null) Console.WriteLine(single.Name); #endregion

4.删除:

MyTest2Entities mt = new MyTest2Entities(); SClass sc = new SClass(); sc.Id = 2; mt.SClasses.Attach(sc); mt.Entry(sc).State = System.Data.Entity.EntityState.Deleted; mt.SaveChanges();

获取主键:

// TestEntities 继承于 DbContext
using (var db = new TestEntities()) { var objectContext = ((System.Data.Entity.Infrastructure.IObjectContextAdapter)db).ObjectContext; // Brand 是其中一个表
    ObjectSet<Brand> set = objectContext.CreateObjectSet<Brand>(); //Act
    IEnumerable<string> keyNames = set.EntitySet.ElementType.KeyMembers.Select(k => k.Name); Console.WriteLine("{0}", string.Join(",", keyNames.ToArray())); }

转载于:https://www.cnblogs.com/jizhiqiliao/p/10905614.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/100904.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 【计算机网络(微课版)】第3章 数据链路层 课后习题及答案

    【计算机网络(微课版)】第3章 数据链路层 课后习题及答案3-1数据链路(即逻辑链路)与链路(即物理链路)有何区别?“电路接通了”与“数据链路接通了”的区别何在?(1)数据链路与链路的区别在于——数据链路除链路外,还必须有一些必要的规程来控制数据的传输。因此,数据链路比链路多了实现通信规程所需要的硬件和软件。(2)“电路接通了”表示链路两端的结点交换机已经开机,物理连接已经能够传送比特流了。但是,数据传输并不可靠。在物理连接…

    2022年7月21日
    17
  • fgc java,频繁FGC的真凶原来是它

    fgc java,频繁FGC的真凶原来是它频繁FGC的真凶原来是它上周排查了一个线上问题,主要现象是CPU占用过高,jvmold区占用过高,同时频繁fgc,我简单排查了下就草草收场了,但是过后我对这个问题又进行了复查,发现问题没有那么简单,下面跟着我一起分析一下到底是怎么回事?复查过程复查原因事后再看dump文件注意到最大的对象是一个ArrayList,里面几乎都是ElasticSearchStatusException对象可是发生…

    2022年6月19日
    80
  • python输出保留小数位_python保留两位小数补0

    python输出保留小数位_python保留两位小数补0前言保留小数位是我们经常会碰到的问题,尤其是刷题过程中。那么在python中保留小数位的方法也非常多,但是笔者的原则就是什么简单用什么,因此这里介绍几种比较简单实用的保留小数位的方法:方法一:format函数>>>print(‘{:.3f}’.format(1.23456))1.235>>>print(format(1.23456,’.2f’))1.23正如上面代码所示,format有不同用…

    2022年8月12日
    6
  • java线程通信的三种方式「建议收藏」

    java线程通信的三种方式「建议收藏」1、传统的线程通信。在synchronized修饰的同步方法或者修饰的同步代码块中使用Object类提供的wait(),notify()和notifyAll()3个方法进行线程通信。关于这3个方法的解释:wait():导致当前线程等待,直到其他线程调用该同步监视器的notify()方法或notifyAll()方法来唤醒该线程。notify():唤醒在此…

    2022年6月19日
    25
  • c语言中实型标准,在C语言中的实型变量分为两种类型.docx

    c语言中实型标准,在C语言中的实型变量分为两种类型.docxPAGEPAGE PAGEPAGE 第二章练习题 填空题 1 在 C 语言中的实型变量分为两种类型 它们是 float1 2 若有定义 charc 010 则变量 c 中包含的字符个数为 3 已知字母 a 的 ASCII 码为十进制数 97 且设 ch 为整型变量 则表达式 ch a 8 3 的值为 4 在 C 语言中 以 16 位 PC 机为例 一

    2025年12月8日
    4
  • Mysql中用SQL增加、删除字段,修改字段名、字段类型、注释,调整字段顺序总结

    Mysql中用SQL增加、删除字段,修改字段名、字段类型、注释,调整字段顺序总结1.增加一个字段 代码如下 复制代码 //增加一个字段,默认为空altertableuseraddCOLUMNnew1VARCHAR(20)DEFAULTNULL; //增加一个字段,默认不能为空altertableuseraddCOLUMNnew2VARCHAR(20)NOTNULL; 2….

    2022年6月1日
    54

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号