暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

人大金仓数据库KingbaseES 客户端编程开发框架-Ef6搭建

原创 数据猿 2023-12-11
733


关键字:

接口开发框架、EF6、NET类、NDP、人大金仓

一、环境准备

1.1 软件环境要求

1、Windows环境,安装Visual Studio 2013;

2、EntityFramework NuGet包准备,需要在VS2013中安装EF6框架。

1.2 框架简介

1、微软为了支持开发人员使用.NET对象处理数据库的对象关系映射程序(O/RM),开发出了一种(O/RM)框架Entity Framework。该框架不要求开发人员编写大部分数据访问代码。Entity Framework目前支持两个版本:

Entity Framework 6和Entity Framework Core。

2、Entity Framework 6是一种久经验证的数据访问技术。2008年,它作为.NET Framework 3.5 SP1和Visual Studio 2008 SP1的一部分首次发布。从4.1版开始,已作为EntityFramework NuGet包发布。

3、Entity Framework Core(EF Core)是在2016年首次发布的EF6的基础上完全重写。它附带于Nuget包中,是Microsoft.EntityFrameworkCore的主要组成部分。EF Core是一种跨平台产品,可以在.NET Core或.NET Framework 上运行。EF Core 旨在为开发人员提供类似EF6的体验。EF6支持多个数据库引擎,包括KingbaseES。

为了支持 EF6,KingbaseES提供了EntityFramework6.Kdbndp。

二、环境搭建

2.1 安装VS和EF6

1、在windows环境中,准备安装包,解压后双击exe文件,默认安装即可,建议修改安装到D盘(C盘没空间QAQ)。

图2-1 准备安装包

2、进到VS2013,安装NuGet包。

首先进到工具——>NuGet程序包管理器——>程序管理器设置如图2-2;

进到NuGet Package Manager——>程序包源,点击右上角的+号,新增程序包源地址,找到我们存放的NuGet包地址,添加EntityFramework,确认文件包和地址无误后,点击确定,如图2-3。

图2-2 进到设置

图2-3 添加程序包源

2.2 编译驱动(使用驱动源码编译)

驱动调试通过后可以生成驱动文件(.dll文件),一般提供给使用者的都是接口dll文件,作者这里演示从驱动源码编译过程。

1、首先打开kdbndp项目(.sln文件),在kdbndp项目右键属性,进入到属性设置界面。

图2-4 驱动文件

2、在属性界面,首先在应用程序中查看是否输出为类库,这样才能生成我们需要的库文件,然后介意查看打包中的详细信息。

图2-5 应用程序属性

3、确认无误后在图2-3中点击重新生成或生成即可生成相应的文件,在文件debug路径下可以查看到库文件。

图2-6 生成的库文件

2.3 例程创建与驱动使用

在2.2中讲到了生成相应的驱动库文件,下面进行环境搭建、用例创建和驱动使用说明。

1、环境搭建,在VS中(注意与驱动版本对应),点击左上角文件->新增->项目,打开后左边选择Windows桌面,右边选择控制台应用,下方编辑项目名称和位置,注意选择框架要与驱动一致(切记切记),然后点击确定即可。

图2-7 新建项目

图2-7 控制台应用程序创建

2、项目创建好了如下图所示,作者创建了test20230921项目,然后可以看到自动生成了一个program.cs文件,点开可以看到有一个命名空间和一个class,老规矩还是首先在左侧项目右键属性查看驱动框架,不一致要及时修改,这里是4.5需要修改为4.0与驱动保持一致。(大坑一定要注意)

图2-8 新工程

图2-9 属性框架

3、在项目右键->添加->类,创建类文件名Modules.cs。双击打开Moduls.cs文件,在里面加入以下程序,可以使用ctrl+K+F快捷对齐。

public enum State

{

None,

有用,

无用

}

public class Test

{

[Key]

public Guid Id { get; set; }

public Guid? Ids { get; set; }

public string Name { get; set; }

public bool Sex { get; set; }

public bool? Sexy { get; set; }

public int Age { get; set; }

public int? Ager { get; set; }

public DateTime Birth { get; set; }

public DateTime? Birthy { get; set; }

public float Money { get; set; }

public float? Moneies { get; set; }

public double Pi { get; set; }

public double? Pis { get; set; }

public State State { get; set; }

public State? States { get; set; }

public byte[] RowVersion { get; set; }

}

图2-10 创建类

4、为了使用实体框架中的类型,我们需要添加 EntityFramework NuGet 包。在 Nuget 控制台中输入命令:

Install-Package EntityFramework

图2-11 打开NuGet程序包管理控制台

图2-12 安装EntityFramework

5、在引用中右键添加EntityFramework6.Kdbndp.dll,Kdbndp.dll 的引用,打开刚刚我们生成的驱动文件路径或者将其放到test项目路径下。注意这里驱动框架是kdbndp_4.0。

图2-13 添加引用

6、在 Modules.cs的顶部添加using语句:

using System.Data.Entity;

using System.ComponentModel.DataAnnotations;

在class Modules中添加:

public class BloggingContext : DbContext

{

public BloggingContext()

: base("name=TestKbContext")

{

}

public DbSet<Test> Blogs { get; set; }

}

7、在App.config中添加以下信息:1)连接数据库的配置;2)provider 相关信息;3)system.data相关信息。

图2-14 修改App.config

8、创建模型,在Nuget控制台中依次输入以下命令:

Enable-Migrations

Add-Migration InitialCreate

Update-Database

执行完前两条命令会生成类似202309211308373_InitialCreate.cs文件。

图2-15 创建模型

9、使用模型,在Program.cs中添加相关代码

程序最上方添加引用:using Kdbndp;

Main中添加

static void Main(string[] args)

{

KdbndpConnection conn = new KdbndpConnection();

conn.ConnectionString = "Server=10.12.1.30;Database=test1; User Id=system;Password=123456;Port=52222";

try

{

conn.Open();

}

catch (Exception e)

{

Console.WriteLine(e.Message);

}

Console.WriteLine("press any key to exit.......");

Console.ReadKey();

}

图2-16 编辑连接程序

10、运行程序,运行成功窗口打印日志,然后切换到数据库后端,可以看到数据库连接成功。

图2-17 连接成功

三、总结

1、ndp程序需要对应版本的ndp驱动,如果版本不一致将不能成功运行。

2、本文只通过环境搭建测试了ndp的数据库连接,后续将进行更多的功能测试。


「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论