Entityframework Code First 系列之项目搭建
2024-09-29 13:06:57
Entityframework(以下简称EF)是微软推出的一个ORM(Object Relational Mapping)框架。
优缺点
优点:
易上手,语法简单,查询容易
更新快,不断补足
缺点:
性能问题,查询速度偏慢,不过随着EF6的推出,查询速度进行了很多优化
Code First
EF提供了多种映射模式,比如说Database First、Model First、Code First。由于本系列主要使用Code First,因此其他两种不做详细描述。有兴趣的可以去官网查看。
新建项目
首先新建一个控制台应用程序:MLS.CodeFirst,如下图:
然后我们需要安装EF程序包,输入命令 Install-Package EntityFramework,如下图:
这时我们可以定义实体类了,我们模拟公司、员工,定义两个实体类:
Company:
public class Company
{
public long Id { get; set; } [DisplayName("名称"),Required,StringLength()]
public string Name { get; set; } [DisplayName("描述")]
public string Descript { get; set; }
}
Employee:
public class Employee
{
public long Id { get; set; } public long CompanyId { get; set; } [DisplayName("名称"),Required,StringLength()]
public string Name { get; set; } public Gender Gender { get; set; }
public int Height { get; set; }
public decimal Weight { get; set; }
}
MLSContext:
public class MLSContext:DbContext
{
public MLSContext() : base("name=MLSContext") { } public virtual DbSet<Company> Company { get; set; } public virtual DbSet<Employee> Employee { get; set; } protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
}
}
注意这里指定的“name=MLSContext”,所以我们需要在App.Config里面添加数据库链接:
<connectionStrings>
<add name="MLSContext" connectionString="data source=.\MSSQLSERVER2012;initial catalog=MLS.CodeFirst;user id=admin;password=admin;multipleactiveresultsets=True;application name=EntityFramework" providerName="System.Data.SqlClient" />
</connectionStrings>
这时候我们可以在Main函数里面坐下测试,是否可以增删改查了。
class Program
{
static void Main(string[] args)
{
using (var ctx = new MLSContext())
{
var company = new Company()
{
Name = "北琳网络有限公司",
Descript = "It's a good Company."
};
ctx.Company.Add(company);
ctx.SaveChanges();
}
}
}
运行程序,执行代码后,我们可以看到数据库里面已经有了对应的表:
并且数据已经插入:
到此项目已经搭建好,至于后面的维护会在接下来的文章讲解。
源码地址:http://files.cnblogs.com/files/Kingdizzy/MLS.CodeFirst.rar
最新文章
- redis成长之路——(四)
- 一些实用但不为人知的Unix命令
- cookie的读入和读出
- DFS(剪枝) POJ 1724 ROADS
- WdatePicker.js 日历点击时,触发自定义方法 ,可以调用自己的函数。
- 无责任Windows Azure SDK .NET开发入门篇三[使用Azure AD 管理用户信息--3.1 Index用户列表]
- Google服务背后的天文数字
- 转自微软内部资料:编写高性能 Web 应用程序的 10 个技巧
- centos7 服务器安装nginx,mysql,php
- UIImagePickerController本地化控件文字
- Elasticsearch批处理操作——bulk API
- handsontable 属性汇总
- JavaScript DOM详解
- 【UVA1660】Cable TV Network
- NFS文件服务器搭建
- 手机浏览器跳转APP
- HDU Always Cook Mushroom (极角排序+树状数组)
- linux常见编辑命令
- 解决php -v查看到版本于phpinfo()打印的版本不一致问题
- 如何处理 jQuery $(window).resize() 中的方法被多次执行的小问题
热门文章
- 关于request.getsession(true|false)
- 解决NDK开发中Eclipse报错“Unresolved inclusion jni.h”的最终方法
- Java中移位操作运算符的理解
- 【M11】禁止异常流出析构方法之外
- DirectSound的应用
- .net 调用C++类库
- 百度UEditor组件出现Parameters: Invalid chunk &;#39;&;#39; ignored警告的分析
- Perl 内部结构详解
- jq实现地址级联效果
- Hibernate Validation注解列表