EF分為三類:
db first:首先建立數(shù)據(jù)庫,然后通過ADO.Net Entity Data Model項(xiàng)目建立.edmx文件,這是一個xml文件主要作用就是映射類和數(shù)據(jù)表
model first:首先建立.edmx文件,映射類和數(shù)據(jù)表的關(guān)系,然后生成代碼
code first:首先寫代碼,如實(shí)體對象,數(shù)據(jù)關(guān)系等,然后根據(jù)已有的代碼描述,自動創(chuàng)建數(shù)據(jù)對象
?
這里主要介紹code first方法:
首先下載http://www.microsoft.com/en-us/download/confirmation.aspx?id=8363 EF 4.1
和EF 4.x DbContext 具體在vs2010->工具->擴(kuò)展管理器->聯(lián)機(jī)庫->搜索EF 4.x DbContext
?
主要優(yōu)點(diǎn):
1.在不使用設(shè)計(jì)器或者定義一個 XML 映射文件的情況下進(jìn)行開發(fā)。
2.允許編寫簡單的模型對象POCO (plain old classes),而不需要基類。
3.通過"約定優(yōu)于配置",使得數(shù)據(jù)庫持久層不需要任何的配置
4.也可以覆蓋"約定優(yōu)于配置",通過流暢的 API 來完全定制持層的映射。
5.添加實(shí)體類不需要使用基類和特性等代碼
?
簡單的代碼如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.Entity;
namespace EFDemo
{
class Program
{
static void Main(string[] args)
{
using (var db = new BlogDbContext())
{
var blogUser = new BlogUser() { BlogUserId = 1, BlogName = "e" };
db.BlogUsers.Add(blogUser);
var post = new Post()
{
PostId = 1,
PostTitle = "123",
BlogUserId = 1
};
db.Posts.Add(post);
int recordAffected = db.SaveChanges();
Console.WriteLine("追加{0}記錄成功", recordAffected);
}
}
}
public partial class BlogUser
{
public int BlogUserId { get; set; }
public string BlogName { get; set; }
public virtual ICollection<Post> Posts { get; set; }
}
public partial class Post
{
public int PostId { get; set; }
public string PostTitle { get; set; }
public int BlogUserId { get; set; }
public virtual BlogUser BlogUser { get; set; }
}
public class BlogDbContext : DbContext
{
public IDbSet<BlogUser> BlogUsers { get; set; }
public IDbSet<Post> Posts { get; set; }
}
}
?
?
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
