【问题标题】:EntityFramework & SQL Relationships inconsistency实体框架和 SQL 关系不一致
【发布时间】:2015-01-15 14:44:42
【问题描述】:

主要问题:如何从 dbContext 访问我的 UserOrganization 表,或者我做错了什么(因为我的 edmx 中没有它,它不是由 orm 映射的)?

我想使用 3 张桌子。

一个是具有主键 UserId 的用户。

一个是Organization,它有一个复合主键OrganizationId,DbConnection代表外部数据库连接字符串。

其中一个是中间件 UserOrganization,我有一个复合主键 UserId、OrganizationId 和 DbConnection。

Entity Framework 没有映射我的 UserOrganization 表,它只会在用户类中创建一个组织的 hashSet,在组织类中创建一个用户的 hashSet。

UserId是User和组合DBConnection中的foreignKey,OrganizationId是Organization中的foreignKey。

【问题讨论】:

    标签: sql-server asp.net-mvc entity-framework


    【解决方案1】:

    您正试图强制作为 ORM 的实体框架以“关系”方式工作。
    ORM 的目的是隐藏这些细节,让您直接使用域对象。
    最后,在您的 UserOrganization 表中添加记录,意味着将用户添加到组织。
    如果您使用的是 ORM,请尽量不要“逆流而上”并考虑对象而不是表格。

    【讨论】:

    • 是的,我怀疑这是“问题”。因此,基于此,我从 userOrganization 中删除了我的组合主键,我添加了一个 UserOrganizationId 作为具有身份属性的 PK,并且我只保留我的外键,现在一切都很好。
    猜你喜欢
    • 1970-01-01
    • 2015-07-06
    • 2014-03-25
    • 2016-07-19
    • 1970-01-01
    • 1970-01-01
    • 2020-09-12
    • 1970-01-01
    • 2013-11-24
    相关资源
    最近更新 更多