如何使用WCF框架和EF框架实现对数据库的操作

简介: 如何使用WCF框架和EF框架实现对数据库的操作

前面已经介绍过如何搭建WCF框架和EF框架,然后我们就要开始写代码了,

由于EF框架拥有强大的API,我们写代码的时候可以直接调用其中的方法。

以操作员注册员工为例:

当我们添加新建项WCF服务后,会自动生成如下图的类和接口()

然后我们在IServiceDAl中写下如下代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;
namespace EFtest
{
    // 注意: 使用“重构”菜单上的“重命名”命令,可以同时更改代码和配置文件中的接口名“IService1”。
    [ServiceContract]
    public interface IServiceDAL
    {
        #region T_UserInfo表
        /// <summary>
        /// 操作员注册新用户
        /// </summary>
        /// <param name="user"></param>
        /// <returns></returns>
        [OperationContract]
        int InsertUserInfo(UserInfoEntity user);
        #endregion
    }
}

然后在自己根据数据库表新建的DAL(例如UserInfoDAL)中添加如下代码

using System.Collections.Generic;
using System.Data.SqlClient;
using System.Linq;
using System;
namespace EFtest.DAL
{
    public class UserInfoDAL
    {
        public int InsertUser(UserInfoEntity user)
        {
            try
            {
                //连接数据库
                //数据库名称为:SystemCooperationEntities2
                //新定义的一个名称为 system
                using (SystemCooperationEntities2 system = new SystemCooperationEntities2())
                { 
                    //将新建实体放到数据库实体的集合
                     system.UserInfoEntity.Add(user);
                    //写回数据库
                    return system.SaveChanges();
                }
            }
            catch (Exception)
            {
                throw;
            }
        }
    }
}

然后再在服务(Service1)里边写代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;
using EFtest.DAL;
namespace EFtest
{
    // 注意: 使用“重构”菜单上的“重命名”命令,可以同时更改代码和配置文件中的类名“Service1”。
    public class Service1 : IServiceDAL
    {
        #region T_UserInfo表
        public int InsertUserInfo(UserInfoEntity user)
        { 
            UserInfoDAL userInfoDAL = new UserInfoDAL();
            return userInfoDAL.InsertUser(user);
        }
        #endregion
    }
}

然后F5

输入自己要添加的信息以后,点击调用,就可以成功啦(如下图)

返回值为1说明插入成功

你可以去自己的数据库查看是否真的增加了一条数据哦。

希望能帮助到你!

相关文章
|
JavaScript 关系型数据库 MySQL
❤Nodejs 第六章(操作本地数据库前置知识优化)
【4月更文挑战第6天】本文介绍了Node.js操作本地数据库的前置配置和优化,包括处理接口跨域的CORS中间件,以及解析请求数据的body-parser、cookie-parser和multer。还讲解了与MySQL数据库交互的两种方式:`createPool`(适用于高并发,通过连接池管理连接)和`createConnection`(适用于低负载)。
20 0
|
1月前
|
SQL 数据库连接 数据库
你不知道ADo.Net中操作数据库的步骤【超详细整理】
你不知道ADo.Net中操作数据库的步骤【超详细整理】
16 0
|
1月前
|
SQL 开发框架 JavaScript
在 Vue 中进行数据持久化时,有哪些常用的数据库框架?
在 Vue 中进行数据持久化时,有哪些常用的数据库框架?
49 3
|
3月前
|
存储 Java 数据库
JAVAEE框架数据库技术之13_oracle 之PLSQL技术及存储过程和函数(二)
JAVAEE框架数据库技术之13_oracle 之PLSQL技术及存储过程和函数
38 0
|
3月前
|
SQL Oracle 关系型数据库
JAVAEE框架数据库技术之12_oracle常用函数和高级查询子查询
JAVAEE框架数据库技术之12_oracle常用函数和高级查询子查询
67 0
JAVAEE框架数据库技术之12_oracle常用函数和高级查询子查询
|
19天前
|
存储 关系型数据库 MySQL
【mybatis-plus】Springboot+AOP+自定义注解实现多数据源操作(数据源信息存在数据库)
【mybatis-plus】Springboot+AOP+自定义注解实现多数据源操作(数据源信息存在数据库)
|
1月前
|
缓存 NoSQL 数据库
[Redis]——数据一致性,先操作数据库,还是先更新缓存?
[Redis]——数据一致性,先操作数据库,还是先更新缓存?
|
1月前
|
SQL 存储 关系型数据库
【mysql】—— 数据库的操作
【mysql】—— 数据库的操作
【mysql】—— 数据库的操作
|
1月前
|
关系型数据库 MySQL 数据库连接
实战演练:使用Go语言和ORM框架与数据库进行交互
【2月更文挑战第13天】本文将通过一个实战演练,展示如何使用Go语言和ORM(对象关系映射)框架与数据库进行交互。我们将选择一个流行的ORM框架,如GORM,来完成这个任务。通过实际编码,我们将演示如何连接数据库、执行CRUD操作、处理错误和异常,并展示ORM框架如何简化数据库操作过程。
|
2月前
|
存储 SQL 数据库连接
连接并操作数据库:Python 数据库案例
数据库是一种用于存储和管理数据的工具,它以一种有组织的方式将数据存储在文件或内存中,以便于检索和处理。数据库系统通常使用 SQL(Structured Query Language)语言来进行数据的操作,包括数据的插入、查询、更新和删除等。