【发布时间】:2012-10-18 03:06:46
【问题描述】:
我首先使用 EF 代码构建了一个项目。它还使用表单身份验证。直到最近,会员数据库和应用程序数据库都是分开开发的,但为了简单起见,我想将它们合并到一个数据库中。
我的代码优先模型中的一个类称为“应用程序”,因此 EF 生成的表称为“应用程序”,它与同名的成员表冲突。这是我当前上下文的一个示例:
public partial class ExampleContext : DbContext
{
public DbSet<Application> Applications { get; set; }
public DbSet<Status> StatusTypes { get; set; } // notice the name of the property vs the name of the class
}
我认为表名是基于上下文中属性的名称,因为它正在为所有 Status 对象生成一个名为 StatusTypes 的表。但是,如果我将Applications 属性重命名为MyApplications 之类的名称,它仍然会生成一个名为Applications 的表。很明显,这不仅仅是属性的名称,我还遗漏了一些东西。
我的问题:如何让 EF 以不同的方式命名此表?
【问题讨论】:
-
您使用的是网站项目还是网络应用程序项目?网站项目通常存在这类问题,因为它们不使用命名空间来区分命名范围。
-
应用程序的前端是一个MVC项目。但是所有实体框架和其他数据库操作都在一个单独的类库中。为什么作为 Web 应用程序会导致 EF 以不同的方式命名?这对我来说没有意义。
-
命名空间.. 不是名字。命名空间提供了一个名称在其中有效的“范围”。
标签: c# entity-framework