新建个表,我用的是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. TensorFlow.ZC尝试

    1.资料: https://github.com/protocolbuffers/protobuf/releases https://pythonprogramming.net/introductio ...

  2. lua程序设计 第一章习题答案

    练习1.1:运行阶乘的示例并观察,如果输入负数,程序会出现什么问题?试着修改代码来解决问题. 答:当输入负数时,循环无法终止,因为原本程序中的终止条件为n==0,而在输入为负数情况下,无法达成此终止条 ...

  3. 前端手势控制图片插件书写二(transform矩阵的原理)

    上次解释了如何使用代码识别双指和单指操作及放大和旋转拖动操作.这次解释下css3的transform原理 一.transform矩阵原理 transform: matrix(a,b,c,d,e,f) ...

  4. 《你必须知道的495个C语言问题》读书笔记之第1-2章:声明和初始化

    1. C标准中并没有精确定义数值类型的大小,但作了以下约束: (1) char类型可以存放小于等于127的值: (2) short int和int可以存放小于等于32767的值: (3) long i ...

  5. poj2826(细节,计算几何)

    题目链接:https://vjudge.net/problem/POJ-2826 题意:平面中摆两根木棍,雨水从上垂直下落,问木棍中能乘多少水. 思路: 细节很多,坑QAQ.. 首先不相交时肯定为0. ...

  6. 小结Fragment与FragmentPagerAdapter的生命周期及其关系

    本博客部分内容是来自http://blog.csdn.net/dreamzml/article/details/9951577 FragmentPagerAdapter FragmentPagerAd ...

  7. virtualbox 扩容存储

    本文讲解一种方式: 第一步: 我们需要将virtual box 设置成全局的环境变量 第二步: 找到要修改的xxx.vdi文件,通过命令来修改 下面操作步骤 1.设置virtual box 的环境变量 ...

  8. 新拉的项目在idea中启动时报如下错误:org.apache.catalina.core.ContainerBase.addChildInternal ContainerBase.addChild: start:

    今天真的是很苦恼,之前启动项目没有任何问题,今天突然启动时给我报了如下一个错误. 详细报错信息: org.apache.catalina.core.ContainerBase.addChildInte ...

  9. 19牛客暑期多校 round2 H 01矩阵内第二大矩形

    题目传送门//res tp nowcoder 目的 给定n*m 01矩阵,求矩阵内第二大矩形 分析 O(nm)预处理01矩阵为n个直方图,问题转换为求n个直方图中的第二大矩形.单调栈计算,同时维护前二 ...

  10. Block Breaker HDU - 6699(深搜,水,写下涨涨记性)

    Problem Description Given a rectangle frame of size n×m. Initially, the frame is strewn with n×m squ ...