.NET Core 数据访问层库项目构建指南

在本文中,将探讨如何使用.NET Core框架来构建一个数据访问层(Data Access Layer, DAL)库项目。这包括安装必要的工具、创建数据库和表、生成实体以及实现数据访问接口。

环境准备

在开始之前,请确保计算机上已经安装了以下所有先决条件。如果没有,请逐一下载并安装。

首先,从以下链接下载并安装Visual Studio 2015及其更新3:

如果已经安装了Visual Studio 2015但尚未更新到更新3,请从以下链接下载并安装:

接下来,下载并安装.NET Core1.0.1:

问题概述

Entity Framework Core 1.0.0 RTM 目前还不支持类库项目的迁移。有关这个问题的详细信息,请参考以下链接:

在安装完所有先决条件组件后,使用.NET Core模板创建一个示例ASP.NET Core应用程序项目。可以在这个Web应用程序中使用类库项目。首先,需要创建两个.NET Core库项目——一个用于业务逻辑,另一个用于数据访问层

按照相同的步骤创建数据访问层库项目。最终,项目结构将如下所示:

删除现有代码,并在业务库项目的project.json文件中添加以下代码:

{ "version": "1.0.0-*", "dependencies": { "NETStandard.Library": "1.6.0" }, "frameworks": { "netcoreapp1.0": {} } }

需要将类库作为.NET Core应用程序项目来创建。为此,需要在数据访问层库的project.json文件中添加以下代码:

{ "buildOptions": { "emitEntryPoint": true }, "frameworks": { "netcoreapp1.0": {} }, "dependencies": { "Microsoft.NETCore.App": { "version": "1.0.1", "type": "platform" }, "Microsoft.EntityFrameworkCore.Design": "1.0.0-preview2-final", "Microsoft.EntityFrameworkCore.SqlServer": "1.0.0", "Microsoft.EntityFrameworkCore.SqlServer.Design": "1.0.0", "Microsoft.AspNetCore.Identity.EntityFrameworkCore": "1.0.0" }, "tools": { "Microsoft.EntityFrameworkCore.Tools": { "version": "1.0.0-preview2-final" } } }

还需要添加一个静态的void Main()方法来完成.NET Core应用程序。为此,需要在类库项目中添加一个空的Program.cs文件。请参考以下代码:

public class Program { public static void Main(string[] args) { } }

现在可以在SQL Server中创建数据库和表,并在其中添加存储过程。请在SQL Server中运行以下脚本:

USE [master] GO CREATE DATABASE [ContactDB] CONTAINMENT = NONE ON PRIMARY ( NAME = N'ContactDB', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\ContactDB.mdf', SIZE = 5120KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB ) LOG ON ( NAME = N'ContactDB_log', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\ContactDB_log.ldf', SIZE = 1024KB , MAXSIZE = 2048GB , FILEGROWTH = 10% ) GO

以上脚本创建了一个名为ContactDB的数据库,并对其进行了一系列配置。接下来,需要创建一个名为Contacts的表,并定义了一个存储过程GetContactList来检索联系人列表。

现在可以使用以下命令来生成实体:

dotnet ef dbcontext scaffold -c ContactDbContext -o Models -f "Data Source=yourdatasource; Initial Catalog=ContactDB;User ID=youruserid;Password=yourpassword" Microsoft.EntityFrameworkCore.SqlServer

执行上述命令后,将在数据访问层项目中创建一个名为Models的文件夹,其中包含数据库实体。

打开ContactDbContext.cs文件,将看到在上述命令中指定的SQL连接字符串以及相关的联系人实体。

在业务层项目中添加数据访问引用,并在Web项目中添加业务层引用。

创建一个扩展类,用于将数据库对象映射到实体框架实体。

在业务层类库中创建一个名为IContactRepository.cs的接口。

沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485