实体框架代码第一个MySql多个表

Jef*_*Pry 5 c# mysql entity-framework poco ef-code-first

我首先使用Microsoft Entity Framework代码来管理我的数据(使用MySQL).我已经定义了一个POCO对象,但是,当我尝试添加数据时,表示用户不存在.我查看了数据库,并创建了表User not Users.我该如何解决这个问题?它让我疯了!

谢谢!

  public class User
 {
    [Key,Required]
    public int UserId { get; set; }

    [StringLength(20), Required]
    public string UserName { get; set; }

    [StringLength(30), Required]
    public string Password { get; set; }

    [StringLength(100), Required]
    public string EmailAddress { get; set; }

    [Required]
    public DateTime CreateDate { get; set; }

    [Required]
    public bool IsActive { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

Jef*_*ner 3

我还没有将 MySQL 与 EF 一起使用,但无论如何我认为解决方案是公正的。您需要关闭复数表约定。

using System.Data.Entity;
using System.Data.Entity.ModelConfiguration.Conventions.Edm.Db;

public class MyDbContext: DbContext
{
    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {    
        modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
    }
}
Run Code Online (Sandbox Code Playgroud)

现在 EF 将在表名称中查找对象名称的文字。

一些很棒的视频教程位于http://msdn.microsoft.com/en-us/data/aa937723 的继续学习实体框架下。为了获得额外的学习体验,您可以不指定上述内容,而是将对象“user”显式映射到表“user”。

其他参考资料: http://blogs.msdn.com/b/adonet/archive/2010/12/14/ef-feature-ctp5- Fluent-api-samples.aspx