SQL Server模式名称到EF代码生成中的CLR名称空间

时间:2012-06-20 17:16:55

标签: sql-server entity-framework entity-framework-4

我的数据库中有以下表格:

Business.Profiles
User.Profiles

其中'商家'和'用户'是架构。

通过Ado.Net DbContext Generator(添加代码生成项)生成DbContext时,我在代码中得到两个类:

Profile
Profile1

理想情况下,我希望将Schema名称转换为clr名称空间,但这并没有发生。有没有办法强迫这样的事情?我该如何处理?

1 个答案:

答案 0 :(得分:2)

DbContext Generator仅使用EDMX文件中指定的名称,因此我猜您在EDMX中定义了ProfileProfile1实体。

类必须与EDMX中的实体具有完全相同的名称,并且不能将具有相同名称的两个类映射到同一EDMX模型。 EF不支持它,因为POCO类是按惯例映射的,它只使用类的名称(EF在映射中不使用CLR命名空间)。因此,你无法实现你想要的。简单的解决方法是简单地在EDMX UserProfileBusinessProfile中命名您的实体。