关键字:
接口开发框架、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的数据库连接,后续将进行更多的功能测试。




