经验总结13--EF配置
Posted mqxnongmin
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了经验总结13--EF配置相关的知识,希望对你有一定的参考价值。
EF配置,开发前的准备及步骤。
使用V22013和EF6.1。
1.使用VS新建MVC项目。
2.创建实体类。
3.配置web.config的数据库链接字符串。
<connectionStrings>
? ? <add name="SQLConnString" connectionString="Server=地址;Database=数据库名;integrated security=true;User Id=账户;Password=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里面的方法,即生成数据库。
以上是关于经验总结13--EF配置的主要内容,如果未能解决你的问题,请参考以下文章