经验总结13--EF配置
2014-06-24 10:42
232 查看
EF配置,开发前的准备及步骤。
使用V22013和EF6.1。
1.使用VS新建MVC项目。
2.创建实体类。
3.配置web.config的数据库链接字符串。
<connectionStrings>
<add name="SQLConnString" connectionString="Server=地址;Database=数据库名;integrated security=true;User Id=账户;Password=密码" providerName="System.Data.SqlClient"/>
</connectionStrings>
4.创建继承DbContex的上下本,并指定数据库。
public OrderDbContext(string “SQLConnString”) : base(“SQLConnString”)
5.DbContex映射数据库。
public DbSet<Order> Orders { get; set; }
6.DbContex配置字段限制条件。两种方式,一种是直接在OnModelCreating写,另一种是单独写配置文件,建议第二种。
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Configurations.Add(new OrderConfig());
}
7.编写配置文件OrderConfig。
public class OrderConfig : EntityTypeConfiguration<Order>
{
public OrderConfig()
{
this.Property(o => o.Name).HasMaxLength(50);
this.Property(o => o.Address).HasMaxLength(50);
}
}
8.初始化数据库。可配置策略。下一章介绍策略。
public OrderDbContext(string ConnectionString)
: base(ConnectionString)
{
Database.SetInitializer<OrderDbContext>(new OrderInitializer());
}
public class OrderInitializer : CreateDatabaseIfNotExists<OrderDbContext>
{
protected override void Seed(OrderDbContext context)
{
//唯一
context.Database.ExecuteSqlCommand("CREATE UNIQUE INDEX IX_Order_Name ON Orders (Name)");
}
}
注意:只要一调用OrderDbContext里面的方法,即生成数据库。
使用V22013和EF6.1。
1.使用VS新建MVC项目。
2.创建实体类。
3.配置web.config的数据库链接字符串。
<connectionStrings>
<add name="SQLConnString" connectionString="Server=地址;Database=数据库名;integrated security=true;User Id=账户;Password=密码" providerName="System.Data.SqlClient"/>
</connectionStrings>
4.创建继承DbContex的上下本,并指定数据库。
public OrderDbContext(string “SQLConnString”) : base(“SQLConnString”)
5.DbContex映射数据库。
public DbSet<Order> Orders { get; set; }
6.DbContex配置字段限制条件。两种方式,一种是直接在OnModelCreating写,另一种是单独写配置文件,建议第二种。
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Configurations.Add(new OrderConfig());
}
7.编写配置文件OrderConfig。
public class OrderConfig : EntityTypeConfiguration<Order>
{
public OrderConfig()
{
this.Property(o => o.Name).HasMaxLength(50);
this.Property(o => o.Address).HasMaxLength(50);
}
}
8.初始化数据库。可配置策略。下一章介绍策略。
public OrderDbContext(string ConnectionString)
: base(ConnectionString)
{
Database.SetInitializer<OrderDbContext>(new OrderInitializer());
}
public class OrderInitializer : CreateDatabaseIfNotExists<OrderDbContext>
{
protected override void Seed(OrderDbContext context)
{
//唯一
context.Database.ExecuteSqlCommand("CREATE UNIQUE INDEX IX_Order_Name ON Orders (Name)");
}
}
注意:只要一调用OrderDbContext里面的方法,即生成数据库。
相关文章推荐
- 基于MVC+EasyUI的Web开发框架经验总结(13)--DataGrid控件实现自动适应宽带高度
- (转)基于MVC4+EasyUI的Web开发框架经验总结(13)--DataGrid控件实现自动适应宽带高度
- 基于MVC4+EasyUI的Web开发框架经验总结(13)--DataGrid控件实现自动适应宽带高度
- Azure China (13) Azure China CDN经验总结
- 基于Metronic的Bootstrap开发框架经验总结(13)--页面链接收藏夹功能的实现2(利用Sortable进行拖动排序)
- 基于MVC4+EasyUI的Web开发框架经验总结(13)--DataGrid控件实现自动适应宽带高度
- 在.NET中调用Oracle9i存储过程经验总结
- 转载:TonyBaoBao:在.NET中调用Oracle9i存储过程经验总结
- 关于解决WebSphere服务不能启动问题的几点经验总结
- 在.NET中调用Oracle9i存储过程经验总结
- 测试的一点经验总结
- SCWCD 考试经验总结[转帖]
- 关于ASP.NET在IIS一些问题的经验总结(zz)
- 关于ASP.NET在IIS一些问题的经验总结
- 关于ASPNET在IIS一些问题的经验总结
- [导入]关于ASPNET在IIS一些问题的经验总结
- 这是我们公司总结的一些关于中文乱码问题的一些解决方案和经验和大家分享!
- 由PPP项目总结的几点项目经验
- arcims开发经验总结(2) (地图放大缩小、鹰眼实现逻辑)
- 定义变量也是如此痛苦,经验值得总结。