Mego开发文档 - 快速开始
快速开始
我们将创建一个简单的数据新增及查询来演示 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开发文档 - 快速开始的更多相关文章
- Mego开发文档 - 快速概述
Mego 快速概述 Mego 是一款轻量级,可扩展和跨平台的数据访问技术. Mego 是一个对象关系映射器(O / RM),它使.NET开发人员能够使用.NET对象处理数据库.它消除了开发人员通常需要 ...
- Mego开发文档 - 索引
Mego 开发文档 Mego 快速概述 主要特性 获取Mego 使用流程 模型 查询 保存数据 入门 Mego 快速开始 创建项目 安装Nuget包 创建连接字符串 创建模型及数据上下文(添加引用) ...
- Mego开发文档 - 从EF6/EFCore迁移到Mego
从EF6/EFCore迁移到Mego框架 如果您有EntityFragmework6或EntityFragmeworkCore的开发经验,在首次接触Mego框架时会发现这两个框架非常相似,本文将帮忙您 ...
- Mego开发文档 - 数据注释建模
数据注释建模 Mego框架使用一组约定来基于CLR类来构建模型.您可以指定其他配置来补充或覆盖通过约定发现的内容. 在 Mego 中所有的数据对象必须要有主键.这里需要声明与EF不同的是框架只支持数据 ...
- Mego开发文档 - 建模高级主题
建模高级主题 在建模过程中我们还有许多其他情况,这里列出本框架中的有用特性来用于解决此类问题. 函数映射 我们可以将指定的CLR函数映射到数据库中的系统函数或自定义函数,该特性用于补充框架中未提供的数 ...
- Mego开发文档 - 基础查询
基础查询 Mego 使用语言集成查询(LINQ)从数据库查询数据.LINQ允许您使用C#(或其他.NET语言)根据派生的上下文和实体类编写强类型查询.将LINQ查询的表示传递给数据库提供者,翻译为数据 ...
- Mego开发文档 - 复杂查询
复杂查询 Mego 还支持一些更高级的LLINQ查询写法,本文只列出一部分. 分组汇总查询 using (var db = new OrderManageEntities()) { var query ...
- Mego开发文档 - 加载关系数据
加载关系数据 Mego允许您使用模型中的导航属性来加载相关数据对象.目前只支持强制加载数据对象.只有正确配置了关系才能加载关系数据,相关内容可参考关系配置文档. 加载对象属性 您可以使用该Includ ...
- Mego开发文档 - 基本保存操作
基本保存操作 在Mego中没有更改跟踪,也就是说所有的新增.更新及删除都需要开发者自行判断.Mego会最为实际的将各个数据操作提交给数据库并执行. 添加数据 using (var db = new O ...
随机推荐
- Android实时直播,一千行java搞定不依赖jni,延迟0.8至3秒,强悍移动端来袭
项目首页:https://github.com/ossrs/srs-sea SRS服务器项目:https://github.com/ossrs/srs 一个支持RTMP推流的版本:https://gi ...
- Attempt to invoke interface method 'boolean java.util.List.add(java.lang.Object)' on a null object reference
尝试在一个空的对象引用上引用boolean java.util.List.add()这个方法: 错误例子: private ArrayList<String> classList; cla ...
- [转]What is a WebRTC Gateway anyway? (Lorenzo Miniero)
[转]What is a WebRTC Gateway anyway? (Lorenzo Miniero) https://webrtchacks.com/webrtc-gw/ As I mentio ...
- nicEditors使用方法
//声明初始化富文本框到context中 <div> <textarea id="context" name="context" style= ...
- go语言的数组和切片区别
这里不介绍数组和切片的使用技巧,主要看下2者的区别. 首先看下它们的定义: 数组:类型 [n]T 表示拥有 n 个 T 类型的值的数组. 切片:类型 []T 表示一个元素类型为 T 的切片. 看一个数 ...
- SpringMVC的工作流程以及组件说明
1. SpringMVC处理流程 2. SpringMVC架构 2.1 框架结构 2.2 框架流程 1. 用户发送请求至前端控制器DispatcherServlet. 2. DispatcherSer ...
- 使用mescroll来实现移动端页面上拉刷新, 下拉加载更多功能
* mescroll请参考官方文档 1. 使用mescroll实现下拉滑动的效果: (仅仅效果, 有的页面不需要刷新数据, 只要你能下拉就行) 代码如下: var mescroll = new MeS ...
- Docker学习笔记(一)
什么是Docker? 1.基于Go语言开发的云开源项目,Docker的主要目标是通过对应用组件的 封装,分发,部署,运行等生命周期的管理,达到应用组件级别的 一次封装,到处运行. 2.可以将Docke ...
- 【Python】 高级文件操作 shutil
shutil 很多时候,我想要对文件进行重命名,删除,创建等操作的时候的想法就是用subprocess开一个子进程来处理,但是实际上shutil可以更加方便地提供os的文件操作接口,从而可以一条语句搞 ...
- Hook 无侵入式埋点(页面统计)
一.技术原理 Method-Swizzling 黑魔法 方法交换(不懂的可以查) 二.页面统计 某盟页面统计SDK需要开发者在APP基类里实现ViewDidAppear和viewDidDisappea ...