快速开始

我们将创建一个简单的数据新增及查询来演示 Mego 的使用过程。演示中都是使用 Visual Studio 2017 作为开发工具,SQL Server 2012 作为数据库。

创建项目

首先我们先创建一个名为 MegoGetStarted 控制台项目,如下图所示。

安装Nuget包

从Visual Studio中的Nuget的包管理器中查找Caredev.Mego可以安装Mego如下图所示。

创建连接字符串

这一步需要确定连接数据库的连接字符串。

<connectionStrings>
<add name="MegoGetStarted"
connectionString="data source=.;initial catalog=MegoGetStarted;integrated security=True;MultipleActiveResultSets=True;"
providerName="System.Data.SqlClient" />
</connectionStrings>

补充,连接字符串中的providerName属性我们完全按照了ADO.NET的习惯,没有做任何更改。

创建模型及数据上下文(添加引用)

在我们正式开始编码前需要确认在代码文件中添加对Mego命名空间的引用。

using Caredev.Mego;

接着我们就可以创建模型及数据上下文。

public class Student
{
public int Id { get; set; }
public string Name { get; set; }
}
public class MegoDemoContext : DbContext
{
public MegoDemoContext()
: base("MegoGetStarted")
{ }
public DbSet<Student> Students { get; set; }
}

初始化数据库

Mego不能像EF那样自动创建数据库,所以你需要手动创建一个名为 MegoGetStarted 的空数据库。不过Mego可以帮助创建数据库中的表、关系等对象,这里我们直接使用下面代码初始化数据表。

using (var db = new MegoDemoContext())
{
var operate = db.Database.Manager.CreateTable<Student>();
db.Executor.Execute(operate);
}

需要注意的是这段代码只能执行一次,第二次会重复创建表而报错。

演示添加及查询操作

做好上面的工作后,我们就可以正式开始使用Mego对数据库进行操作。

using (var db = new MegoDemoContext())
{
var item = new Student()
{
Id = 1,
Name = "Student"
};
var operate = db.Students.Add(item);
db.Executor.Execute(operate); var list = db.Students.ToArray();
}

以上我们插入了一条数据,并查出所有数据。

至此做完成的入门DEMO。

[文档目录]

Mego开发文档 - 快速开始的更多相关文章

  1. Mego开发文档 - 快速概述

    Mego 快速概述 Mego 是一款轻量级,可扩展和跨平台的数据访问技术. Mego 是一个对象关系映射器(O / RM),它使.NET开发人员能够使用.NET对象处理数据库.它消除了开发人员通常需要 ...

  2. Mego开发文档 - 索引

    Mego 开发文档 Mego 快速概述 主要特性 获取Mego 使用流程 模型 查询 保存数据 入门 Mego 快速开始 创建项目 安装Nuget包 创建连接字符串 创建模型及数据上下文(添加引用) ...

  3. Mego开发文档 - 从EF6/EFCore迁移到Mego

    从EF6/EFCore迁移到Mego框架 如果您有EntityFragmework6或EntityFragmeworkCore的开发经验,在首次接触Mego框架时会发现这两个框架非常相似,本文将帮忙您 ...

  4. Mego开发文档 - 数据注释建模

    数据注释建模 Mego框架使用一组约定来基于CLR类来构建模型.您可以指定其他配置来补充或覆盖通过约定发现的内容. 在 Mego 中所有的数据对象必须要有主键.这里需要声明与EF不同的是框架只支持数据 ...

  5. Mego开发文档 - 建模高级主题

    建模高级主题 在建模过程中我们还有许多其他情况,这里列出本框架中的有用特性来用于解决此类问题. 函数映射 我们可以将指定的CLR函数映射到数据库中的系统函数或自定义函数,该特性用于补充框架中未提供的数 ...

  6. Mego开发文档 - 基础查询

    基础查询 Mego 使用语言集成查询(LINQ)从数据库查询数据.LINQ允许您使用C#(或其他.NET语言)根据派生的上下文和实体类编写强类型查询.将LINQ查询的表示传递给数据库提供者,翻译为数据 ...

  7. Mego开发文档 - 复杂查询

    复杂查询 Mego 还支持一些更高级的LLINQ查询写法,本文只列出一部分. 分组汇总查询 using (var db = new OrderManageEntities()) { var query ...

  8. Mego开发文档 - 加载关系数据

    加载关系数据 Mego允许您使用模型中的导航属性来加载相关数据对象.目前只支持强制加载数据对象.只有正确配置了关系才能加载关系数据,相关内容可参考关系配置文档. 加载对象属性 您可以使用该Includ ...

  9. Mego开发文档 - 基本保存操作

    基本保存操作 在Mego中没有更改跟踪,也就是说所有的新增.更新及删除都需要开发者自行判断.Mego会最为实际的将各个数据操作提交给数据库并执行. 添加数据 using (var db = new O ...

随机推荐

  1. Batch update returned unexpected row count from update [0] 异常处理

    在one-to-many时遇到此异常,本以为是配置出错.在使用s标签开启debug模式,并在struts2主配置文件中添加异常映射,再次提交表单后得到以下异常详情. org.springframewo ...

  2. 快速搭建CentOS+ASP.NET Core环境支持WebSocket

    环境:CentOS 7.x,.net core 2 以下.net core 2安装操作为官方方法.如果你使用Docker,那么更简单了,只需要docker pull microsoft/dotnet就 ...

  3. Laravel框架中的make方法详解

    为什么网上已经有这么多的介绍Laravel的执行流程了,Laravel的容器详解了,Laravel的特性了,Laravel的启动过程了之类的文章,我还要来再分享呢? 因为,每个人的思维方式和方向是不一 ...

  4. for..of与for..in

    var arr=[1,2,3,5] undefined for(var m of arr) console.log(m)//1,2,3,5 for(var m in arr) console.log( ...

  5. MYSQL数据库学习十五 事务

    15.1 事务概述 当多个用户访问同一份数据,一个用户在更改数据的过程中可能有其他用户同时发起更改请求,为保证数据库记录的更新从一个一致性状态变为另一个一致性状态,使用事务处理是非常必要的. 事务有以 ...

  6. Redis的事务和watch

    redis的事务 严格意义来讲,redis的事务和我们理解的传统数据库(如mysql)的事务是不一样的. redis中的事务定义 Redis中的事务(transaction)是一组命令的集合. 事务同 ...

  7. elementUI源码修改定制

    1.修改elementUI源码 首先从Git上克隆代码或者下载代码包 进入文件夹打开终端或Git Bash Here,运行npm install 安装依赖包.npm run dev 打开网页http: ...

  8. if判断 -z -n 参数

    _echo_error() { echo -ne "\033[31;1m $1\033[0m\n";}_echo_ok() { echo -ne "\033[32;1m ...

  9. Spring Boot 引入自定义yml

    喜欢yml配置文件格式的人性化,也喜欢properties配置文件管理方式的人性化, 那么下面我们就来看一下 yml 是如何配置和使用类似properties管理方式的人性化. 配置文件 设置Spri ...

  10. Java高级特性之枚举

    在Java SE5之前,我们要使用枚举类型时,通常会使用static final 定义一组int常量来标识,代码如下 public static final int MAN = 0; public s ...