您的位置:首页 > 其它

简单MVC+EF框架搭建

2016-03-16 16:37 288 查看
搭建一个简单的MVC+EF框架

首先下图是该实例的结构。



结构搭建好后,就从写实体开始

在DataInfo文件中写表实体:

namespace DataInfo.DataInfos
{
[DataContract]
public class BookInfo
{
public BookInfo()
{
Id = Guid.Empty;
BookName = string.Empty;
BookPrice = string.Empty;
}
/// <summary >
/// Id
/// </summary>
[DataMember]
public Guid Id { set; get; }

/// <summary >
/// BookName
/// </summary>
[DataMember]
public string BookName { set; get; }

/// <summary >
/// BookPrice
/// </summary>
[DataMember]
public string BookPrice { set; get; }
}
}


注:[DataContract]需要引用System.Runtime.Serialization.dll

在BookMap文件中写mapping:

namespace DataContext.Mapping
{
public class BookMap : EntityTypeConfiguration<BookInfo>
{
public BookMap()
{
//Primary Key
this.Property(t => t.Id).IsRequired();
// Properties
this.Property(t => t.BookName).IsRequired().HasMaxLength(1024);
this.Property(t => t.BookPrice).IsRequired().HasMaxLength(1024);
this.ToTable("table_book");
}
}
}


EntityTypeConfiguration<T>需要引用:EntityFramework.dll

在DataContext文件中编写映射关系:

namespace DataContext
{
public class DataContext : DbContext
{
public DbSet<BookInfo> BookInfos { get; set; }

///// <summary>
///// 映射表名
///// </summary>
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Configurations.Add(new BookMap());
base.OnModelCreating(modelBuilder);
}
}
}


注:必须要继承DbContext类。

接下来就是在MVC项目中使用EF了。

在需要使用EF的地方创建一个属性:

public DataContext.DataContext DataContext
{
get
{
return new DataContext.DataContext();
}
}


using(var db=DataContext)
{
var query = db.BookInfos.FirstOrDefault(p=>p.BookName=="语文");//查找名称为‘语文’的一条数据
}


若要添加表,就在DataContext、DataInfo中相应位置添加表,在DataContext文件中添加映射表就可以了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: