提示:VS版本2013, Entity Framwork版本5.0.0,Mysql数据库
使用Entity FrameWork的好处就不多说,直接上手如何使用。两种形式:1.将代码映射到数据库实体,使用的是Code First技术。2.将数据库实体转成代码,使用的是Reverse Engineer Code Fist技术。
一.Code First技术
1.建好项目,并加入一个名为CodeFirstDemo控制台应用程序项目。
2.配置。工具>>库程序包管理>>管理解决方案的NUGet程序包__安装EntityFramework.
这样在CodeFirstDemo项目中就自动添加了EntityFramwork的引用。
接下来就是App.config的设置,重点就是连哪个数据库,创建数据库的名称。
默认是这样:
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
<parameters>
<parameter value="v11.0"/>
</parameters>
</defaultConnectionFactory>
</entityFramework>
可以删除,加入
<connectionStrings>
<add name="BookContext" connectionString="server=localhost;user id=user;password=******;persistsecurityinfo=True;database=Book"
providerName="MySql.Data.MySqlClient" />
</connectionStrings>
可以看到,我们是在MySql中创建的名为Book的数据库。
3.开始写代码
namespace CodeFirstDemo
{
public class Book
{
public string Title { get; set; }
public string Author { get; set; }
[Key]
public int Code { get; set; }
}
public class BookContext : DbContext
{
public DbSet<Book> Books { get; set; }
}
class Program
{
static void Main(string[] args)
{
using (var db = new BookContext())
{
Book book1 = new Book{ Title = "编程语言",
Author ="李昊"};
db.Books.Add(book1); Book book2 = new Book{ Title = "C#语言",
Author = "李大昊"};
db.Books.Add(book2);
db.SaveChanges(); var queryResult = from b in db.Books
orderby b.Title
select b;
foreach (var item in queryResult)
{
Console.WriteLine(item.Title+"..."+item.Author);
}
Console.ReadKey(); } }
}
}
4.可以查看数据库中是否存在这样的数据 方法有两个。第一个借助MySql查看工具Navicat for MySql。第二种工具>>连接数据库>>连接MySql中的book库,通过左边服务器资源管理器来查看。