【问题标题】:Entity Framework Relationships on Non-Primary Keys非主键上的实体框架关系
【发布时间】:2014-10-10 04:10:18
【问题描述】:

我将 VS 2010 与 .Net 4.0 版和 EF 5 版与现有数据库一起使用。这是我使用 EF 的第一个项目,我正在努力处理实体关系。我有一个数据库,其中有两个表,设置如下:

我只是想将它们作为一对多关系加入到 EF 中,仅在 PART_SEQ_ID 上加入,以便我可以使用 LINQ 进行查询。当我在模型视图中进行连接时,EF 会将其他关键字段添加到连接中并猜测相关字段。如果我不加入表格,我会收到错误

从第 294 行开始映射片段的问题:没有为属性指定映射

从第 254 行开始映射片段的问题:表 PARTDETAILS 键的潜在运行时违规

我做错了吗?我找到了this SO post,这表明这可能是不可能的。如果不可能,那么处理这种情况的最佳方法是什么?

【问题讨论】:

    标签: c# linq entity-framework primary-key


    【解决方案1】:

    我认为您不会让导航器按原样使用您的架构。您要么更改架构,使每个表都有一个唯一的、不可变的、单列主键,要么管理查询中的连接:

    from detail in partdetails
    join part in parts on detail.part_seq_id equals part.part_seq_id...
    

    注意生成的 sql 并查看您的执行计划,以确保您拥有有效构建组合所需的索引。

    【讨论】:

    • 感谢@WinstonWolfIT。所以我应该能够在没有任何连接的情况下将实体添加到 edmx 文件并在 LINQ 中进行连接?
    猜你喜欢
    • 1970-01-01
    • 2015-01-11
    • 2012-03-02
    • 1970-01-01
    • 2017-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多