EF .edmx 是否在数据库外键标识符上创建了一个抽象层
Does EF .edmx create an abstract layer over the DB Foreign keys identifiers
我正在开发 asp.net mvc web 应用程序,我使用 EF 映射现有数据库并创建 .edmx 文件。
但我不确定某些事情,现在在我的开发服务器中我有以下关系,名为:-
FK_SecurityRoleGroups_Groups
但是在我的登台服务器中,我得到了名为 FK_Table_Table 而不是 FK_SecurityRoleGroups_Groups 的关系,但具有相同的父表和子表和列。
所以现在如果我将 asp.net mvc web 应用程序从我的开发部署到测试服务器,这会导致任何问题吗?或者 FK 标识符在 .edmx 文件中无关紧要,真正重要的是关联的父表和子表和列?
问候
如果您从数据库构建 edmx,关系将转换为所谓的 "Associations"。默认情况下,关联的名称与关系的名称相同。
名称本身在技术上并不重要,关联定义包含模型应如何操作以及它如何与数据库相关的所有详细信息。您可以根据新标准重新定义您的关联名称,但如果您希望将它们与数据库相匹配,可能会造成混淆。如果你在记事本中打开 edmx,你可以看到你的关联是如何定义的。
<Association Name="FK_Address_User">
<End Role="User" Type="Self.User" Multiplicity="1" />
<End Role="Address" Type="Self.Address" Multiplicity="*" />
<ReferentialConstraint>
<Principal Role="User">
<PropertyRef Name="UserID" />
</Principal>
<Dependent Role="Address">
<PropertyRef Name="UserID" />
</Dependent>
</ReferentialConstraint>
</Association>
我正在开发 asp.net mvc web 应用程序,我使用 EF 映射现有数据库并创建 .edmx 文件。
但我不确定某些事情,现在在我的开发服务器中我有以下关系,名为:-
FK_SecurityRoleGroups_Groups
但是在我的登台服务器中,我得到了名为 FK_Table_Table 而不是 FK_SecurityRoleGroups_Groups 的关系,但具有相同的父表和子表和列。 所以现在如果我将 asp.net mvc web 应用程序从我的开发部署到测试服务器,这会导致任何问题吗?或者 FK 标识符在 .edmx 文件中无关紧要,真正重要的是关联的父表和子表和列? 问候
如果您从数据库构建 edmx,关系将转换为所谓的 "Associations"。默认情况下,关联的名称与关系的名称相同。
名称本身在技术上并不重要,关联定义包含模型应如何操作以及它如何与数据库相关的所有详细信息。您可以根据新标准重新定义您的关联名称,但如果您希望将它们与数据库相匹配,可能会造成混淆。如果你在记事本中打开 edmx,你可以看到你的关联是如何定义的。
<Association Name="FK_Address_User">
<End Role="User" Type="Self.User" Multiplicity="1" />
<End Role="Address" Type="Self.Address" Multiplicity="*" />
<ReferentialConstraint>
<Principal Role="User">
<PropertyRef Name="UserID" />
</Principal>
<Dependent Role="Address">
<PropertyRef Name="UserID" />
</Dependent>
</ReferentialConstraint>
</Association>