Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server EF代码生成中CLR命名空间的SQL Server架构名称_Sql Server_Entity Framework_Entity Framework 4 - Fatal编程技术网

Sql server EF代码生成中CLR命名空间的SQL Server架构名称

Sql server EF代码生成中CLR命名空间的SQL Server架构名称,sql-server,entity-framework,entity-framework-4,Sql Server,Entity Framework,Entity Framework 4,我的数据库中有以下表格: Business.Profiles User.Profiles 其中“业务”和“用户”是模式 通过Ado.Net DbContext生成器(添加代码生成项)生成DbContext时,我在代码中得到两个类: Profile Profile1 理想情况下,我希望模式名称转换为clr名称空间,但事实并非如此。有什么办法可以强迫你做这样的事吗?如何处理此问题?DbContext Generator仅使用EDMX文件中指定的名称,因此我猜您在EDMX中定义了Profile和P

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

Business.Profiles
User.Profiles
其中“业务”和“用户”是模式

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

Profile
Profile1

理想情况下,我希望模式名称转换为clr名称空间,但事实并非如此。有什么办法可以强迫你做这样的事吗?如何处理此问题?

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


类必须与EDMX中的实体具有完全相同的名称,并且不能将具有相同名称的两个类映射到同一EDMX模型。EF不支持它,因为POCO类是通过只使用类名的约定进行映射的(EF在映射中不使用CLR命名空间)。正因为如此,你无法实现你想要的。simples的解决方法只是在EDMX
UserProfile
BusinessProfile

中命名实体,我一直发现这是一个相当有问题的组织缺陷。撇开解决方法不谈,模式通常用于DB名称空间;在命名空间类和模式对象之间进行1对1映射会更好。