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


相关推荐

  • 面试官:说一下Redis和MongoDB的区别?[通俗易懂]

    面试官:说一下Redis和MongoDB的区别?

    2022年2月20日
  • 手机版java编译器_Java编译器[通俗易懂]

    手机版java编译器_Java编译器[通俗易懂]这是一款专为学习Java的学员们打造的一款非常优质的程序验证软件,让用户能够非常快速的复制自己的程序到APP中,进行检验,能够非常快速的去验证程序的内容,能够非常及时的进行纠错,让你的代码能够及时的得到解决,用户可以随时在这里打开使用,保证自己的编辑的代码能够更加的完美,让你可以更好的精心纠错,对于初学者来说是一款非常棒的软件,让自己能够学的更好,经验能够更加的丰富。软件特点验证代码非常简单快捷,…

    2022年7月13日
  • 卷积神经网络CNN(2)—— BN(Batch Normalization) 原理与使用过程详解[通俗易懂]

    卷积神经网络CNN(2)—— BN(Batch Normalization) 原理与使用过程详解[通俗易懂]BatchNormalization是由google提出的一种训练优化方法。网上对BN解释详细的不多,大多从原理上解释,没有说出实际使用的过程,这里从what,why,how三个角度去解释BN。

    2022年7月18日
  • 【java基础】java关键字总结及详解

    【java基础】java关键字总结及详解Java关键字是电脑语言里事先定义的,有特别意义的标识符,有时又叫保留字,还有特别意义的变量。Java的关键字对Java的编译器有特殊的意义,他们用来表示一种数据类型,或者表示程序的结构等,关键字不能用作变量名、方法名、类名、包名和参数。(一)总表:java关键字共53个(其中包含两个保留字const,goto) abstract assert …

    2022年7月8日
  • C++滑动窗口算法_最短连续包含子串

    C++滑动窗口算法_最短连续包含子串滑动窗口算法在一个特定大小的字符串或数组上进行操作,而不在整个字符串和数组上操作,这样就降低了问题的复杂度,从而也达到降低了循环的嵌套深度。如下题给你两个长度相同的字符串,s和t。将s中的第i个字符变到t中的第i个字符需要|s[i]-t[i]|的开销(开销可能为0),也就是两个字符的ASCII码值的差的绝对值。用于变更字符串的最大预算是maxCost。在转化字符串时,总开销应当小于等于该预算,这也意味着字符串的转化可能是不完全的。如果你可以将s的子字符串转

    2022年10月28日
  • 递归方法

    递归方法一、什么是递归递归是指函数直接或间接调用自身的一种编程方法。调用的过程就是“递”,返回的过程就是归。基本上,所有的递归问题都可以用递推公式来表示。二、递归满足的三个条件1.一个问题的解可以分

    2022年7月4日

发表回复

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

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