【问题标题】:Use Foreign Key on SQL View in Entity Framework在实体框架中的 SQL 视图上使用外键
【发布时间】:2012-08-09 23:10:18
【问题描述】:

我对 Entity Framework 比较陌生。

我创建了一个包含两个表的数据库:AccountsAssignments

Accounts 有一个 AccountId 主键,在 Properties 表中用作外键。我真的很喜欢实体框架自动获取外键关系并允许我访问Assignments 中的行作为Accounts 中每一行的属性。

我继续创建了一个新的 View 对象,它返回来自Accounts 的所有列以及一些其他信息。但是,当我使用实体框架从 SQL 视图中获取数据时,它不再自动引用 Assignments 表中的关联行。

如何使用带有实体框架的视图获得所需的行为

【问题讨论】:

    标签: sql entity-framework sql-view


    【解决方案1】:

    这可以在 EF 中工作,但 EF 设计器无法从视图中推断出您的 FK,因为 DB 不会告诉它视图列上的 FK 在哪里(因为它们自然在基础表上,不是视图本身)。

    您需要manually edit your EDMX, either via the designer or in XML, to get these properties

    【讨论】:

    • 已经4年多了,这个答案仍然是唯一的方法吗?在网络上搜索时,我找不到替代的自动化解决方案。
    【解决方案2】:

    对我有用的解决方案是在视图中包含适当的数据,这样我就不需要使用 FK。

    例如,通过将适当的 SQL 添加到视图中,将分配表的 PK 包含在视图中。

    这样我可以加入 LINQ 中的视图,而无需引用 EDMX 中生成的属性。

    【讨论】:

      猜你喜欢
      • 2010-11-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多