浅谈EF框架(二)--DataBaseFirst
来源:互联网 发布:我们爱讲冷笑话软件 编辑:程序博客网 时间:2024/05/16 07:21
EF框架支持三种开发模型:DatabaseFirst、 ModelFirst和CodeFirst。
这三种开发模式区如下图:
每个模式有每个模型的好处,根据自己实际的需求来选择。
今天主要想用代码来演示一下如何用---DatabaseFirst
1、首先创建一个数据库(可以自己直接在数据库创建,也可以通过vs创建)。
(1)打开vs2012--视图--服务器资源管理器
(2)右键单击“数据库连接”--“添加连接”
(3)根据已安装的数据库,比如我安装是sqlserver2008,输入DBFirst.Test作为数据库名称,点击确定创建它
(4)此时到数据库里看,就有了DBFirst.Test数据库了,将一下sql语句复制到新建查询中,再执行就行。
CREATE TABLE [dbo].[Blogs] (
[BlogId] INT IDENTITY (1, 1) NOT NULL,
[Name] NVARCHAR (200) NULL,
[Url] NVARCHAR (200) NULL,
CONSTRAINT [PK_dbo.Blogs] PRIMARY KEY CLUSTERED ([BlogId] ASC) );
CREATE TABLE [dbo].[Posts] (
[PostId] INT IDENTITY (1, 1) NOT NULL,
[Title] NVARCHAR (200) NULL,
[Content] NTEXT NULL,
[BlogId] INT NOT NULL,
CONSTRAINT [PK_dbo.Posts] PRIMARY KEY CLUSTERED ([PostId] ASC),
CONSTRAINT [FK_dbo.Posts_dbo.Blogs_BlogId] FOREIGN KEY ([BlogId]) REFERENCES [dbo]. [Blogs] ([BlogId]) ON DELETE CASCADE );
2、创建一个控制台应用程序
3、把数据库里的表映射成对象模型(表实体)
(1)项目--添加新建项--数据--ADO.net实体数据模型--输入BloggingModel作为名称---选择“从数据库生成”
选择连接到在第一部分中创建的数据库,输入 BolgEntities作为连接字符串的名称,然后单击“下一步”
单击“表”旁边的复选框,导入所有表,然后单击“完
反向工程处理完成后,新模型将添加到项目中并在实体框架设计器中打开以便查看。项目中还添加了一个 App.config 文件,其中含有数据库的连接详细信息。
app.congfig的<connectionStrings>配置信息,到时把它复制到配置文件就行。
4、读写数据
在控制台应用主函数里把这段代码复制进去,加个断点单步调试一下,看看这么跳转的。
static void Main(string[] args)
{
using (var db=new BlogEntities())
{
//创建一个blog并且保存它
Console.Write("Enter a name for a new Blog");
var name = Console.ReadLine();
var blogs = new blog { Name=name};
db.blogs.Add(blogs);
db.SaveChanges();
//从数据中查询所有博客并且按名字排列
var query = from b in db.blogs
orderby b.Name
select b;
Console.WriteLine("All blogs in the database");
foreach (var item in query)
{
Console.WriteLine(item.Name);
}
Console.WriteLine("Press any key to exit");
Console.ReadKey();
}
}
我这测到的运行结果:
这个我仿照msdn上做的一个demo,虽然简单,但自己做一遍和调试一遍就是比看到感受深刻的多。
- 浅谈EF框架(二)--DataBaseFirst
- VS2010+SQlite+EF 二、初识EF DataBaseFirst
- 【ITOO高校云平台】——EF框架:DatabaseFirst
- 浅谈EF框架(一)
- EF映射之DataBaseFirst
- 关于EF(entity framework)中的codefirst、modelfirst和databasefirst
- EF框架基础(二)
- 浅谈spring框架(二)
- 技术(1)EF实体框架(二)延迟加载
- 使用EF DataBaseFirst做一个简单的MVC3报名网站
- 初识EF(二)
- 【EF】浅谈EF
- 【菜鸟看框架】——浅谈EF框架
- 【EF 2】浅谈ADO数据模型生成串(二):数据库连接串分析
- Java集合框架浅谈-List(二)
- 浅谈Netfilter框架原理(二)
- 浅谈Volley网络框架(二)
- 在VS2013环境下使用EF框架与Sqlite(二)
- 个人关于工作上的一点建议
- 聚类算法(3)——PCCA、SOM、Affinity Propagation
- java 性能调优
- HDU5311-Hidden String
- 访问WEB-INF下的jsp页面以及利用session访问webroot下的页面
- 浅谈EF框架(二)--DataBaseFirst
- NYOJ 289 苹果
- 基本数据类型的包装类
- ORACLE 中split功能 & 包
- 编程之美:第四章 数字之趣 4.5磁带文件存放优化
- androd 百度地图去除logo,放大图标
- iOS内存管理机制
- Java中堆内存和栈内存详解
- 01背包问题