EF6 SqlServer 简单例子 和 支持的原生sql例子

总体结构如图:

1. 使用NuGet添加EF6

2. 添加实体Model

public class User_Model {

public int ID { get; set; }

public string S_UserID { get; set; }

public int Sex { get; set; }

public string Phone { get; set; }

public int Age { get; set; }

public DateTime? AddDateTime { get; set; }

public DateTime? UpdDateTime { get; set; }

}

3. 创建Map(Model成员约束)

public class User_Map : EntityTypeConfiguration<Model.User_Model> {

public User_Map() {

ToTable("3660_kangwl.Users");//自定义表名

this.HasKey(u => u.ID);//主键

this.Property(u => u.ID).HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity);//自增张字段

this.Property(u => u.AddDateTime).HasColumnName("Add_DateTime").IsRequired();

this.Property(u => u.S_UserID).HasColumnName("S_User_ID");

this.Property(u => u.UpdDateTime).HasColumnName("Update_DateTime").IsOptional();

}

}

4. 创建数据库上下文 Context

public class Smile : DbContext {

public Smile() :base() {

Database.Connection.ConnectionString =

System.Configuration.ConfigurationManager.ConnectionStrings["smile"].ConnectionString;

Database.SetInitializer(new NullDatabaseInitializer<Smile>());

}

public DbSet<Model.User_Model> User { get; set; }

protected override void OnModelCreating(DbModelBuilder modelBuilder) {

modelBuilder.Configurations.Add(new User_Map());

base.OnModelCreating(modelBuilder);

}

}

5. 操作代码

class Program

{

private static void Main(string[] args) {

Smile smile = new Smile();

var users = smile.User;

foreach (User_Model user in users) {

Console.WriteLine(user.S_UserID);

}

//由于加了实体与数据库字段映射

//下面的sql查询用了as转换成映射字段,否则取不出来的

//切记,切记

//Add_DateTime(数据库字段),AddDateTime(映射字段)

var rawSqlUsers =

smile.Database.SqlQuery<Model.User_Model>(

"select id,s_user_id as S_UserID,Sex,Phone,Age,Add_DateTime as AddDateTime,update_datetime as UpdDateTime from users");

foreach (User_Model user in rawSqlUsers) {

Console.WriteLine(user.ID);

}

//command指令如下

//参数[email protected]

int ret = smile.Database.ExecuteSqlCommand("update users set age=-1 where [email protected]", 2);

Console.WriteLine(ret > 0);

//两个参数

int ret1 = smile.Database.ExecuteSqlCommand("update users set age=-1 where [email protected] and [email protected]", 12,"kangwl");

Console.WriteLine(ret > 0);

var auser =

smile.Database.SqlQuery<Model.User_Model>(

"select id,s_user_id as S_UserID,Sex,Phone,Age,Add_DateTime as AddDateTime,update_datetime as UpdDateTime from users where [email protected]",

12);

Console.WriteLine(auser.First().Age);

Console.Read();

}

}

6. show 一下配置文件

<?xml version="1.0" encoding="utf-8"?>

<configuration>

<configSections>

<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->

<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />

</configSections>

<connectionStrings>

<add name="smile" connectionString="server=smile.xxx.xxx;database=3660_smile;uid=3660_kangwl;pwd=xxxxx;" providerName="System.Data.SqlClient"/>

</connectionStrings>

<entityFramework>

<defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">

<parameters>

<parameter value="v11.0" />

</parameters>

</defaultConnectionFactory>

<providers>

<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />

</providers>

</entityFramework>

</configuration>

来自为知笔记(Wiz)

时间: 2024-10-12 21:15:43

EF6 SqlServer 简单例子 和 支持的原生sql例子的相关文章

最简单的基于FFmpeg的移动端例子:Windows Phone HelloWorld

===================================================== 最简单的基于FFmpeg的移动端例子系列文章列表: 最简单的基于FFmpeg的移动端例子:Android HelloWorld 最简单的基于FFmpeg的移动端例子:Android 视频解码器 最简单的基于FFmpeg的移动端例子:Android 视频解码器-单个库版 最简单的基于FFmpeg的移动端例子:Android 推流器 最简单的基于FFmpeg的移动端例子:Android 视频转

使用vue实现简单键盘,支持移动端和pc端

常看到各种app应用中使用自定义的键盘,本例子中使用vue2实现个简单的键盘,支持在移动端和PC端使用,欢迎点赞 实现效果: Keyboard.vue <template> <div class="keyboard" v-show="showKeyboard" v-clickoutside="closeModal"> <p v-for="keys in keyList"> <templ

SQLServer简单介绍

SQLServer简单介绍 Sqlserver的版本分为: ①      企业版: 全面 ②      标准版: 适合中小企业的需求 ③      工作组版: 理想的数据管理解决方案,大小和用户数量没有限制的小型企业 ④      开发版: 覆盖企业版的所有功能,但是只允许开发和测试使用,不允许做为生产系统 ⑤      免费版: Sqlserver的使用: 连接数据库 a) 检查是否开启服务:  方法一:  Microsoft…à配置工具àsqlserver配置管理器à(左)sqlserver

最简单的基于FFmpeg的AVfilter的例子-纯净版

===================================================== 最简单的基于FFmpeg的AVfilter例子系列文章: 最简单的基于FFmpeg的AVfilter例子(水印叠加) 最简单的基于FFmpeg的AVfilter的例子-纯净版 ===================================================== 有关FFmpeg的avfilter已经写过一个水印叠加的例子<最简单的基于FFmpeg的AVfilter例子

自己实现简单Web服务器,支持GET POST请求

最近项目上遇到一个需求,最后想到的解决方案是自己实现一个web服务器去处理请求,然后再将信息发送到另外一个程序.然后返回处理之后的结果呈现出来. 现在我就来分享一下如何实现的. 通过.NET 为我们提供的HttpListener类实现对Http协议的处理,实现简单的web服务器. 注意:此类在 .NET Framework 2.0 版中是新增的.所以支持.NET Framework 2.0以上版本.该类仅在运行 Windows XP SP2 或 Windows Server 2003 操作系统的

Cause: com.microsoft.sqlserver.jdbc.SQLServerException: 不支持“variant”数据类型。

mybatis执行sqlserver的sql报错 com.microsoft.sqlserver.jdbc.SQLServerException: 不支持"variant"数据类型. at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:190) ~[sqljdbc4-4.0.jar:na] at com.microsoft.sqlserver.jdb

SqlServer简单的操作XML以及SQl的 try catch等统一格式

1:SqlServer简单的操作XML: ALTER PROCEDURE [dbo].[SP_CRM_FranchiseeRecharge_Money] @Create_By VARCHAR(50), @xmlStr1 NVARCHAR(MAX) -写在这里面的为 传入的参数 AS BEGIN as begin后面的为自定义的变量 SET NOCOUNT ON; DECLARE @xml XML = @xmlStr1; sqlserver操作XML T-SQL提供了以下几个针对XML类型的查询函

Hibernate 的原生 SQL 查询

Hibernate除了支持HQL查询外,还支持原生SQL查询.         对原生SQL查询执行的控制是通过SQLQuery接口进行的,通过执行Session.createSQLQuery()获取这个接口.该接口是Query接口的子接口.         执行SQL查询步骤如下:         1.获取Hibernate Session对象         2.编写SQL语句         3.通过Session的createSQLQuery方法创建查询对象         4.调用SQ

hibernate使用原生SQL查询返回结果集的处理

今天没事的时候,看到公司框架里有一个用原生SQL写的函数,说实在以前自己也干过这事,但好久都没有用,都忘得差不多了,现在基本都是用的hql语句来查询结果.hibernate中使用createSQLQuery拉来来实现SQL语句的查询,具体用法:session.createSQLQuery(sql),对于用SQL返回的结果集是一个什么样的结果集都毫无记忆.自己查了下,才知道,原来是返回一个Object类型数组的list集合,而其中Object类型的数组里的值则与sql语句中的查询项相对应,如果是s