Oct 27, 2014
4 mins read
要改變預設對應規則,可以用兩種方式 一種是使用Attributes的方式,例如[key] 一種是覆寫DbContext的OnModelCreating,透過DbModelBuilder使用Fluent API方式來設定
資料表名稱和主索引
[Table("Table1")] public class Table1 { [Key] public int id { get; set; } }public class DemoContext : DbContext { public DbSet<Table1> Table1 { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder) { modelBuilder.Entity<Table1>().ToTable("Table1").HasKey(x => x.id); }
}
[Table("Table1")] public class Table1 { [Key] [DatabaseGenerated(DatabaseGeneratedOption.Identity)] public int id { get; set; } }public class DemoContext : DbContext { public DbSet<Table1> Table1 { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder) { modelBuilder.Entity<Table1>().ToTable("Table1").HasKey(x => x.id); modelBuilder.Entity<Table1>().Property(x => x.id) .HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity); }
}
[Table(“Table1”)] public class Table1 { [Key] [DatabaseGenerated(DatabaseGeneratedOption.Identity)] [Column(“sid”)] public int id { get; set; } }public class DemoContext : DbContext { public DbSet<Table1> Table1 { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder) { modelBuilder.Entity<Table1>().ToTable("Table1").HasKey(x => x.id); modelBuilder.Entity<Table1>().Property(x => x.id) .HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity) .HasColumnName("sid"); }
}
[Table("Table1")] public class Table1 { [Key] [DatabaseGenerated(DatabaseGeneratedOption.Identity)] [Column("sid", TypeName = "bigint")] public int id { get; set; } }public class DemoContext : DbContext { public DbSet<Table1> Table1 { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder) { modelBuilder.Entity<Table1>().ToTable("Table1").HasKey(x => x.id); modelBuilder.Entity<Table1>().Property(x => x.id) .HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity) .HasColumnName("sid") .HasColumnType("bigint"); }
}
[Table("Table1")] public class Table1 { [Key] [DatabaseGenerated(DatabaseGeneratedOption.Identity)] [Column("sid", TypeName = "bigint")] public int id { get; set; }[Required] public string s1 { get; set; }
}
public class DemoContext : DbContext { public DbSet<Table1> Table1 { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder) { modelBuilder.Entity<Table1>().ToTable("Table1").HasKey(x => x.id); modelBuilder.Entity<Table1>().Property(x => x.id) .HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity) .HasColumnName("sid") .HasColumnType("bigint"); modelBuilder.Entity<Table1>().Property(x => x.s1) .IsRequired(); }
}
[Table("Table1")] public class Table1 { [Key] [DatabaseGenerated(DatabaseGeneratedOption.Identity)] [Column("sid", TypeName = "bigint")] public int id { get; set; }[Required] [MaxLength(10)] public string s1 { get; set; }
}
public class DemoContext : DbContext { public DbSet<Table1> Table1 { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder) { modelBuilder.Entity<Table1>().ToTable("Table1").HasKey(x => x.id); modelBuilder.Entity<Table1>().Property(x => x.id) .HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity) .HasColumnName("sid") .HasColumnType("bigint"); modelBuilder.Entity<Table1>().Property(x => x.s1) .IsRequired() .HasMaxLength(10); }
}
[Table("Table1")] public class Table1 { [Key] [DatabaseGenerated(DatabaseGeneratedOption.Identity)] [Column("sid", TypeName = "bigint")] public int id { get; set; }[Required] [MaxLength(10)] [Column(TypeName="char")] public string s1 { get; set; }
}
public class DemoContext : DbContext { public DbSet<Table1> Table1 { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder) { modelBuilder.Entity<Table1>().ToTable("Table1").HasKey(x => x.id); modelBuilder.Entity<Table1>().Property(x => x.id) .HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity) .HasColumnName("sid") .HasColumnType("bigint"); modelBuilder.Entity<Table1>().Property(x => x.s1) .IsRequired() .HasMaxLength(10) .IsFixedLength() .IsUnicode(false); }
}
[Table("Table1")] public class Table1 { [Key] [DatabaseGenerated(DatabaseGeneratedOption.Identity)] [Column("sid", TypeName = "bigint")] public int id { get; set; }[Required] [MaxLength(10)] [Column(TypeName="char")] public string s1 { get; set; } public decimal c1 { get; set; }
}
public class DemoContext : DbContext { public DbSet<Table1> Table1 { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder) { modelBuilder.Entity<Table1>().ToTable("Table1").HasKey(x => x.id); modelBuilder.Entity<Table1>().Property(x => x.id) .HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity) .HasColumnName("sid") .HasColumnType("bigint"); modelBuilder.Entity<Table1>().Property(x => x.s1) .IsRequired() .HasMaxLength(10) .IsFixedLength() .IsUnicode(false); modelBuilder.Entity<Table1>().Property(x => x.c1) .HasPrecision(18, 2); }
}
[Table("Table1")] public class Table1 { [Key] [DatabaseGenerated(DatabaseGeneratedOption.Identity)] [Column("sid", TypeName = "bigint")] public int id { get; set; }[Required] [MaxLength(10)] [Column(TypeName = "char")] public string s1 { get; set; } public decimal c1 { get; set; } [Timestamp] public byte[] t1 { get; set; }
}
public class DemoContext : DbContext { public DbSet<Table1> Table1 { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder) { modelBuilder.Entity<Table1>().ToTable("Table1").HasKey(x => x.id); modelBuilder.Entity<Table1>().Property(x => x.id) .HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity) .HasColumnName("sid") .HasColumnType("bigint"); modelBuilder.Entity<Table1>().Property(x => x.s1) .IsRequired() .HasMaxLength(10) .IsFixedLength() .IsUnicode(false); modelBuilder.Entity<Table1>().Property(x => x.c1) .HasPrecision(18, 2); modelBuilder.Entity<Table1>().Property(x => x.t1) .IsRowVersion(); }
}
[Table("Table1")] public class Table1 { [Key] [Column(Order = 1)] public int id1 { get; set; }[Key] [Column(Order = 2)] public int id2 { get; set; }
}
public class DemoContext : DbContext { public DbSet<Table1> Table1 { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder) { modelBuilder.Entity<Table1>().ToTable("Table1").HasKey(x => new { x.id1, x.id2 }); }
}
Sharing is caring!