欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

ef6怎么用mysql存儲(chǔ)

EF6是一種基于.NET Framework的ORM框架,它可以幫助開(kāi)發(fā)者更方便的與數(shù)據(jù)庫(kù)交互。而MySQL則是一種免費(fèi)開(kāi)源的數(shù)據(jù)庫(kù)。在本文中,我們將介紹如何在EF6中使用MySQL作為存儲(chǔ)介質(zhì)。 首先,我們需要安裝MySQL的連接器。可以在Nuget Pakage Manager中搜索下載MySql.Data.EntityFramework包。下載后,在項(xiàng)目的App.config文件中添加如下配置信息。 ``` xml``` 接著,我們需要在EF6的DbContext中重寫(xiě)OnModelCreating方法,在其中指定使用MySQL。 ``` csharp public class MyContext : DbContext { public MyContext() : base("name=MyConn") { } protected override void OnModelCreating(DbModelBuilder modelBuilder) { base.OnModelCreating(modelBuilder); modelBuilder.Entity().MapToStoredProcedures(); modelBuilder.HasDefaultSchema("myschema"); // 指定默認(rèn)Schema modelBuilder.Entity().ToTable("tb_persons"); // 指定表名 var mysqlProvider = new MySql.Data.MySqlClient.MySqlProviderInvariantName(); var mysqlFactory = mysqlProvider.GetProviderFactory(); var w = new MySql.Data.Entity.MySqlMigrationSqlGenerator(); // 指定使用MySQL Provider modelBuilder.Properties().Configure(property =>property.HasColumnName(property.ClrPropertyInfo.Name.ToLower())); modelBuilder.HasDefaultSchema("myschema"); modelBuilder.Configurations.Add(new PersonConfiguration()); modelBuilder.Properties().Configure(property =>property.HasColumnType("varchar")); // 排除一些不支持的操作 modelBuilder.Ignore(); modelBuilder.Ignore(); modelBuilder.Ignore(); modelBuilder.Ignore(); modelBuilder.Ignore(); modelBuilder.Ignore(); } public DbSetPersons { get; set; } } ``` 在上述代碼中,我們指定了數(shù)據(jù)庫(kù)連接字符串、默認(rèn)的Schema、表名等信息。另外,在OnModelCreating方法中,我們用到了MySqlMigrationSqlGenerator類來(lái)指定MySQL的操作方法。此外,由于MySQL不支持一些EF6的操作,所以需要添加相應(yīng)的忽略規(guī)則。 最后,我們?cè)贛yContext類中定義實(shí)體類Person,并使用DbSet屬性在數(shù)據(jù)庫(kù)中表Persons上對(duì)其映射。 ``` csharp public class Person { public int Id { get; set; } public string Name { get; set; } public int Age { get; set; } } public class PersonConfiguration : EntityTypeConfiguration{ public PersonConfiguration() { this.ToTable("tb_persons"); this.HasKey(p =>p.Id); this.Property(p =>p.Name).HasMaxLength(32); this.Property(p =>p.Age).HasColumnType("int(3)"); } } ``` 在上述代碼中,我們定義了實(shí)體類Person的屬性和相關(guān)的配置,包括表名、主鍵、字段長(zhǎng)度等。 最終,我們可通過(guò)上述方法,利用EF6將數(shù)據(jù)存儲(chǔ)到MySQL數(shù)據(jù)庫(kù)中。