EF Code First 快速创建
以.net framework为例,包括数据库管理类库和启动项目两个项目文件
数据库管理类库
新建一个类库,名称为XXX.Database
管理nuget包,引入库EntityFramework 6.2.0
创建表
public class Student
{
[Key]
public int Id { get; set; }
public string Name { get; set; }
}
创建DbContext,设置nameOrConnectionString为"YourDatabase"
public class YourDbContext: DbContext
{
public DbSet<Student> Students { get; set; }
public YourDbContext(): base("YourDatabase")
{
}
}
启动项目
这里启动项为一个控制台程序,同样添加EntityFramework 6.2.0
在App.config文件中添加连接字符串,注意,名称为"YourDatabase"
这里是Sql Server数据库的连接字符串
<configuration>
<connectionStrings>
<add name="YourDatabase" providerName="System.Data.SqlClient" connectionString="Data Source=YourIp;Initial Catalog=XXXDb;User Id=userId;Password=password;"/>
</connectionStrings>
</configuration>
其中providerName的名称,和App.config中的provider对应,后者是引入EntityFramework的时候自动添加的
至此,两个项目均可识别EntityFramework,添加了数据库上下文、数据库表、连接字符串,可以开始迁库
迁库
打开包管理控制台(Package Manager Console),设置默认程序(Default project)为XXX.Database,启动项为上述的控制台程序
首先,允许迁库
Enable-Migrations
会自动生成Migrations文件夹及相关文件
然后创建迁移文件
add-migration add_Student_table
执行更新
update-database
使用
查询
using (var dbContext = new YourDbContext())
{
var s = dbContext.Students.FirstOrDefault(x => x.Id == 1);
}
其他不再赘述
参考资料
Entity Framework 5.0 Code First全面学习
EF Code First 快速创建的更多相关文章
- 【Visual Studio】 使用EF、 Linq2Sql快速创建数据交互层(一)
项目伊始,创建数据库交互层代码是底层框架的首要任务.常用的做法包括手动编码.Hibernate或者动软之类的代码生成器,而多数人忽略了.Net环境下VS提供的两套非常好用的数据层工具. EF和Linq ...
- Contoso 大学 - 使用 EF Code First 创建 MVC 应用
原文 Contoso 大学 - 使用 EF Code First 创建 MVC 应用 Contoso 大学 Web 示例应用演示了如何使用 EF 技术创建 ASP.NET MVC 应用.示例中的 Co ...
- 使用EF的Code First模式创建模型
Entity Framework Core Entity Framework (EF) Core 是轻量化.可扩展.开源和跨平台版的常用 Entity Framework 数据访问技术. EF Cor ...
- VS code快速创建vue模板
忘记了.vue文件的格式或者不想手动敲那段模板代码怎么办?VS code快速创建vue模板帮你偷个小懒 第一步:新建模板并保存 打开 VS code,依次点击 file > Preference ...
- js_html_input中autocomplete="off"在chrom中失效的解决办法 使用JS模拟锚点跳转 js如何获取url参数 C#模拟httpwebrequest请求_向服务器模拟cookie发送 实习期学到的技术(一) LinqPad的变量比较功能 ASP.NET EF 使用LinqPad 快速学习Linq
js_html_input中autocomplete="off"在chrom中失效的解决办法 分享网上的2种办法: 1-可以在不需要默认填写的input框中设置 autocompl ...
- Sqlite && EF Code FIRST 终极解决方案 2019.5.17
Sqlite && EF Code FIRST 终极解决方案 2019.5.17 包括根据模型自动生成数据库,初始化数据,模型改变时的自动数据迁移等 2019.12.25 更新 支持E ...
- EF Code First Migrations数据库迁移
1.EF Code First创建数据库 新建控制台应用程序Portal,通过程序包管理器控制台添加EntityFramework. 在程序包管理器控制台中执行以下语句,安装EntityFramewo ...
- 【极力分享】[C#/.NET]Entity Framework(EF) Code First 多对多关系的实体增,删,改,查操作全程详细示例【转载自https://segmentfault.com/a/1190000004152660】
[C#/.NET]Entity Framework(EF) Code First 多对多关系的实体增,删,改,查操作全程详细示例 本文我们来学习一下在Entity Framework中使用Cont ...
- 从零开始,搭建博客系统MVC5+EF6搭建框架(1),EF Code frist、实现泛型数据仓储以及业务逻辑
前言 从上篇30岁找份程序员的工作(伪程序员的独白),文章开始,我说过我要用我自学的技术,来搭建一个博客系统,也希望大家给点意见,另外我很感谢博客园的各位朋友们,对我那篇算是自我阶段总结文章 ...
随机推荐
- IE haslayout 问题引起的常见 bug
http://www.qianduan.net/comprehensive-haslayout/ 要想更好的理解 css, 尤其是 IE 下对 css 的渲染,haslayout 是一个非常有必要彻底 ...
- Linux内核Socket实现之------Socket创建(2) 文件描述符
转载请注明:http://blog.chinaunix.net/uid-20788636-id-4408276.html 1.2 sock_map_fd函数 在用户空间创建了一个socket后,返回值 ...
- node.js – 服务器端的客户端证书验证,DEPTH_ZERO_SELF_SIGNED_CERT错误
我正在使用节点0.10.26并尝试建立与客户端验证的https连接. 服务器代码: var https = require('https'); var fs = require('fs'); proc ...
- 项目(1-2)ES32获取mpu9250传入数据库
. 报一个错,找不到min函数 #define min(X,Y) ((X) < (Y) ? (X) : (Y)) 手动添加 之后不报错了 .最原始的采集 /******************* ...
- s3-sftp-proxy goreleaser rpm &&deb 包制作
上次写过简单的s3-sftp-proxy基于容器构建以及使用goreleaser构建跨平台二进制文件的,下边演示下关于 rpm&&deb 包的制作,我们只需要简单的配置就可以生成方便安 ...
- ABP 02 解决 界面为英文
原文:https://www.cnblogs.com/wswind/p/10313968.html 1.直接改数据库 2.在数据迁移前,更改默认值 注意: 我的项目已经初始化了,数据库已经都生成好了, ...
- 6-网页,网站,微信公众号基础入门(PHP学习_1)
https://www.cnblogs.com/yangfengwu/p/11037675.html 安装PhpStrom http://www.jetbrains.com/phpstorm/ 然后百 ...
- Java 整数间的除法运算如何保留所有小数位?
1.情景展示 double d = 1/10; System.out.println(d); 返回的结果居然是0.0!这是怎么回事儿? 2.原因分析 第一步:你会发现用运算结果也可以用int类型接 ...
- mybatis之批量查询
关于MyBatis批量更新和添加,参考我的如下文章即可:MyBatis的批量更新实例 MyBatis的批量添加实例 另外不管是批量的新增.删除.修改.查询也好,还是单个新增.删除.修改查询也罢.都会用 ...
- [Web Pdf] flying-saucer + iText + Freemarker生成pdf 跨页问题
转载于: https://blog.csdn.net/qq_31980421/article/details/79662988 flying-saucer + iText + Freemarker实 ...