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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 邻接矩阵与关联矩阵「建议收藏」

    邻接矩阵与关联矩阵「建议收藏」【邻接矩阵】定义:设无向图G=(V,E)G=(V,E)G=(V,E),其中顶点集V=v1,v2,…,vnV=v1,v2,…,vnV={v_1,v_2,…,v_n},边集E=e1,e2,…,eεE=e1,e2,…,eεE={e_1,e_2,…,e_\varepsilon}。用aijaija_{ij}表示顶点viviv_i与顶点vjvjv_j之间的边数,可能取值为0,1…

    2025年7月2日
    4
  • 关于UDP接收icmp端口不可达(port unreachable)

    关于UDP接收icmp端口不可达(port unreachable)本篇分为3部分1:报文格式2:产生的原因3:linux协议栈如何处理4:应用层如何获取1:报文如下,10.30.13.1往10.30.16.10的80端口发送了一个UDP报文,80端口其实监听的是TCP。服务器回复了一个类型为端口不可达的ICMP,ICMP数据部分就是请求UDPip层及其以上的数据。2:原因首先原因就是接收udp报文…

    2022年7月12日
    15
  • Python系列教程一Python入门(一)

    Python系列教程一Python入门(一)前言各位看博客的园友们,大家好,我就是那个风流倜傥的KK,还记得我那篇2019年的年中总结博客吗?我想有许多看博客的园友是没有读过我那篇文章的,KK很生气,后果很严重(开个玩笑了,怎么可能)。给大家

    2022年7月6日
    27
  • mybatis返回两个字段数据_java接口接收json数据

    mybatis返回两个字段数据_java接口接收json数据pg数据库中某字段类型为jsonJava实体中对应类型是jsonObject privateJSONObjectinfo;在mybatis的xml中,常规无法直接进行映射,需要自己写一个TypeHandler,自定义一个JSONTypeHandlerPg类具体代码:packagecom.geovis.common.config;importjava.sql.Callable…

    2025年9月11日
    6
  • Android——NDK基础概念——ndk-build介绍

    Android——NDK基础概念——ndk-build介绍

    2022年3月3日
    41
  • docker镜像操作_docker 本地镜像

    docker镜像操作_docker 本地镜像前言Docker的三大核心概念:镜像、容器、仓库。初学者对镜像和容器往往分不清楚,学过面向对象的应该知道类和实例,这跟面向对象里面的概念很相似我们可以把镜像看作类,把容器看作类实例化后的对象。|

    2022年7月31日
    9

发表回复

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

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