新建个表,我用的是sql server2014,我会把文件发上来,如果是低版本的,可以执行语句,数据库就自己创建吧。

USE [testdb]
GO CREATE TABLE [dbo].[Product](
[ID] [int] IDENTITY(1,1) NOT NULL,
[ProductId] [nvarchar](50) NULL,
[ProductCode] [nvarchar](50) NULL,
[ProductName] [nvarchar](255) NULL,
[MarkPrice] [decimal](18, 2) NULL,
[TruePrice] [decimal](18, 2) NULL,
[Discount] [nvarchar](10) NULL,
[IsWebPub] [int] NULL,
[CityId] [int] NULL,
[CityName] [nvarchar](50) NULL,
[Sort] [decimal](18, 0) NULL,
[Createtime] [datetime] NULL,
[IsDelete] [int] NULL,
CONSTRAINT [PK_Product] PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] GO

我创建了一个控制台应用程序,就不截图了

创建一个数据实体模型,也就是EDMX

数据库连接字符串,在App.config中
  <connectionStrings>
    <add name="mytestdbEntities" connectionString="metadata=res://*/testdb.csdl|res://*/testdb.ssdl|res://*/testdb.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=.;initial catalog=testdb;persist security info=True;user id=sa;password=123456;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />
  </connectionStrings>

来吧,写个增删改查:

            //增加
Product p1 = new Product()
{
CityId = ,
CityName = "北京",
Createtime = DateTime.Now,
Discount = "",
IsWebPub = ,
ProductId = "",
ProductCode = "",
MarkPrice = ,
ProductName = "苹果",
Sort = ,
TruePrice =
};
Product p2 = new Product()
{
CityId = ,
CityName = "上海",
Createtime = DateTime.Now,
Discount = "",
IsWebPub = ,
ProductId = "",
ProductCode = "",
MarkPrice = ,
ProductName = "大Y梨",
Sort = ,
TruePrice =
};
using (mytestdbEntities dbefadd = new mytestdbEntities())
{
dbefadd.Product.Add(p1);
dbefadd.Product.Add(p2);
int retnum = dbefadd.SaveChanges();
Console.WriteLine("add_{0}_ok", retnum);
}
//add_2_ok
           //删除
using (mytestdbEntities dbefdel = new mytestdbEntities())
{
//删除一条
// dbefdel.Product.Remove(p1);
// dbefdel.SaveChanges();
var entitys = dbefdel.Product.Where(p => p.ProductId == "");
//删除多条
dbefdel.Product.RemoveRange(entitys);
int retnum = dbefdel.SaveChanges();
Console.WriteLine("del_{0}_ok", retnum);
}
            //修改
using (mytestdbEntities dbefedit = new mytestdbEntities())
{
var p = dbefedit.Product.FirstOrDefault();
p.ProductName = "就把你名字改了";
int retnum = dbefedit.SaveChanges();
Console.WriteLine("edit_{0}_ok", retnum);
}
            //查询
using (mytestdbEntities dbefsel = new mytestdbEntities())
{
//查询一条
var p = dbefsel.Product.FirstOrDefault();
Console.WriteLine("查询一条:{0}|{1}|{2}|{3}", p.ProductId, p.ProductName, p.ProductCode, p.TruePrice);
//查询一个集合
var list = dbefsel.Product.Where(pp => pp.ProductId == "");
foreach (var item in list)
{
Console.WriteLine("查询多条:{0}|{1}|{2}|{3}", item.ProductId, item.ProductName, item.ProductCode, item.TruePrice);
}
Console.WriteLine("sel_ok");
}
Console.ReadLine();

点击下载代码

02—EF初次体验的更多相关文章

  1. ASP.NET Core Identity Hands On(1)——Identity 初次体验

    ASP.NET Core Identity是用于构建ASP.NET Core Web应用程序的成员资格系统,包括成员资格.登录和用户数据存储 这是来自于 ASP.NET Core Identity 仓 ...

  2. 在docker中初次体验.net core 2.0

    .net core的跨平台有了Linux,不能没有docker……网上的系列文章一大推,特别是docker还有了中文官网:https://www.docker-cn.com/ .上面说的很清楚了,这里 ...

  3. Visual Studio 2017 初次体验

    在初次体验中遇到以下问题以及技巧 1. 在出现红色波浪线时为出现错误语法,将鼠标移动到相应位置可以获得相关错误信息 2.在编写代码过程中,行号上出现的小黄灯可以有提示信息 3.List 与 Array ...

  4. kubebuilder实战之二:初次体验kubebuilder

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  5. 在ubuntu16.04中初次体验.net core 2.0

    .net core运行在Linux中的例子.文章已经很多了,看了一些之后也想体验一下,顺便记录一下…… 环境:win10 1709.它内置的Linux子系统(这里安装的是Ubuntu 16.04) 一 ...

  6. Total Commander的初次体验

    从汉化新世纪下载到最新的TC张学思版后,运行文件只需依照其提示就可以完成该软件的安装.作为新手初次运行体验了以下功能: 一.目录跳转 1. 初次启动TC软件界面截图: 2. 按下Ctrl+d后,直接再 ...

  7. HashTable初次体验

    用惯了数组.ArryList,初次接触到HashTable.Dictionary这种字典储存对于我来说简直就是高大上. 1.到底什么是HashTable HashTable就是哈希表,和数组一样,是一 ...

  8. 初次体验百度eCharts遇到的问题和解决方法

    前言 上周在厌烦Highchart下,体验了下百度的eCharts,支持IE6.7.8+外,对数据在线编辑还有工具栏支持,体验时遇到了几个小问题,最近两天在尝试得到了一个解决方法. Tooltip时单 ...

  9. 初次体验VS2015正式版,安装详细过程。

    本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是哥(mephisto)写的,SourceLink 阅读目录 介绍 安装 其他 本文版权归mephi ...

随机推荐

  1. edusoho twig 引入文件功能

    在这里不得不提 edusoho twig 模板引擎了 跟smarty 比较类似 不过感觉还是更好一点儿 这里用的标签就只有一个 {% include '路径/文件名' %} 大家在首页做的改动比较多 ...

  2. Java学习笔记-枚举类

    实例有限且固定的类成为枚举类 枚举类的实现 早期时候的实现形式: public static final int SEASON_SPRING = 1; public static final int ...

  3. php遇到Allowed memory size of 134217728 bytes exhausted问题解决方法

    终端报出了Allowed memory size of 134217728 bytes exhausted错误,而且重启电脑再次执行仍然是一样.上网查了查,是因为php默认内存限制是128M,所以需要 ...

  4. 洛谷 题解 P2502 【[HAOI2006]旅行】

    由于此题边数比较小,所以可以先给边排个序,然后跑m遍最小生成树,每跑一次删除一条边,找最优解. 防TLE技巧 把边按从小到大的顺序排好,那么只要当前无法联通,那么后面也无法联通 最优解找法 doubl ...

  5. js函数(4)闭包

    8.6闭包 背景:3.10 变量作用域 在函数体内,局部变量的优先级高于同名的全局变量.如果在函数内声明一个局部变量或者函数参数中带有的变量和全局变量重名,则局部变量会覆盖全局变量: 在全局作用域编写 ...

  6. 使用pycharm开发web——django2.1.5(二)创建一个app并做一些配置

    这里我学习的呢是刘江老师的站,主要原因在于他这个版本新,还比较细节 网址先留一手,约等于在引用http://www.liujiangblog.com/ 开始正题: 1.在pycharm界面终端命令行里 ...

  7. jQuery报错:Uncaught TypeError: _this.attr is not a function

    问题:想通过延时把置灰的按钮再次复原,代码如下: $("#sendEmailCode").on("click", function() { var _this ...

  8. shell实践--简单抓取网页内容

    #!/bin/bash base_path="https://testerhome.com/"user_path="ycwdaaaa/topics?page=" ...

  9. (五)Spring 中的 aop

    目录 文章目录 AOP概念 AOP原理 AOP术语 **`Spring`** 中的 **`aop`** 的操作 使用 `AspectJ` 实现 `aop` 的两种方式 AOP概念 浅理解 aop :面 ...

  10. H5网页唤醒app,判断app安装

    在阅读本文之前你首先应该对js有基本对掌握,并且对Scheme,intent有一定的理解.更多的是代码 上午给朋友做了一个产品引导页,但是需要判断ios系统的TestFlight是否安装,进行了goo ...