Entity framework 首先使用实体框架模型的复数表名

Entity framework 首先使用实体框架模型的复数表名,entity-framework,entity-framework-4.1,Entity Framework,Entity Framework 4.1,我要先试一试EF模型。我用的是EF4.1 差不多都跟着来了 我已经在模型中将MultilateNewObjects设置为False,并且在选项->数据库工具->O/R设计器中将名称的复数设置为False 这两者都没有任何效果——当我从模型中生成一个新的模式时,表名总是多元化的——有可能禁用它吗?好的——我找到了一种实现我想要的东西的方法——但这是一种相当愚蠢的方法 使用复数名生成db(有趣的是,它只对映射到类型的表进行了多元化处理,而不是为多对多联接自动生成链接表) 手动重命名数据库中的表 从项

我要先试一试EF模型。我用的是EF4.1

差不多都跟着来了

我已经在模型中将MultilateNewObjects设置为False,并且在选项->数据库工具->O/R设计器中将名称的复数设置为False


这两者都没有任何效果——当我从模型中生成一个新的模式时,表名总是多元化的——有可能禁用它吗?

好的——我找到了一种实现我想要的东西的方法——但这是一种相当愚蠢的方法

  • 使用复数名生成db(有趣的是,它只对映射到类型的表进行了多元化处理,而不是为多对多联接自动生成链接表)

  • 手动重命名数据库中的表

  • 从项目中删除模型并基于现有数据库模式(我刚刚重命名的数据库模式)重新创建

  • 模型现在已正确映射到奇数名称表


  • 我会等着看是否有人能想出一个更明智的方法来实现这一点……

    好吧,我已经找到了一个方法来实现我想要的——但这是一条相当愚蠢的路线

  • 使用复数名生成db(有趣的是,它只对映射到类型的表进行了多元化处理,而不是为多对多联接自动生成链接表)

  • 手动重命名数据库中的表

  • 从项目中删除模型并基于现有数据库模式(我刚刚重命名的数据库模式)重新创建

  • 模型现在已正确映射到奇数名称表


  • 我将拭目以待,看看是否有人能想出一种更合理的方法来实现这一点……

    生成的DDL中的表名似乎与“实体集名称”值匹配(不同于“实体名称”)。如果对实体集名称进行奇点化,DDL中的表名称也会进行奇点化

    不过,这可能会产生不希望出现的效果,即在代码中对EntitySet属性名称进行奇点化。而不是:

    myDatabase
    .Products
    .Where...
    .Select...
    
    您的代码如下所示:

    myDatabase
    .Product
    .Where...
    .Select...
    

    可能是也可能不是问题

    生成的DDL中的表名似乎与“实体集名称”值匹配(不同于“实体名称”)。如果对实体集名称进行奇点化,DDL中的表名称也会进行奇点化

    不过,这可能会产生不希望出现的效果,即在代码中对EntitySet属性名称进行奇点化。而不是:

    myDatabase
    .Products
    .Where...
    .Select...
    
    您的代码如下所示:

    myDatabase
    .Product
    .Where...
    .Select...
    
    可能是问题,也可能不是问题