gpt4 book ai didi

LINQ-to-Entities,具有相同列名的两个 View 之间关联的不明确的列名

转载 作者:行者123 更新时间:2023-12-04 12:55:50 27 4
gpt4 key购买 nike

除了简单的示例之外,我才第一次进入 Entity Framework 。

我正在使用模型优先方法并使用 LINQ-to-Entities 查询数据源。

我创建了一个实体模型,我将其作为 OData 服务公开,以针对我无法控制架构的数据库。在我的模型中,我有两个实体,它们基于此数据库中的两个 View 。我在两个实体之间创建了一个关联。两个 View 都有一个同名的列。

我收到错误:

Ambiguous column name 'columnname'. Could not use view or function 'viewname' because of binding errors.



如果我自己编写 SQL 语句,我会使用别名来限定列名之一以防止出现此问题。 EF显然没有这样做。如果不改变 View ,我该如何解决这个问题? (我不能这样做)我认为这确实与将这些实体映射到 View 而不是映射到实际表有关。

最佳答案

假设您可以更改模型,您是否尝试进入模型并仅更改列名称之一?如果两个 View 从同一个表中拉回同一列,我仍然可以看到它可能会有什么问题。我可以看出,当直接使用映射到表的模型时,具有相同命名的列不是问题。即使正确处理同一个表的多个关联,导航属性也会自动赋予唯一的名称。根据您使用的 EF 版本,您应该能够深入研究模型下或 t4 模板文件下的 cs 文件,看看发生了什么。然后你总是可以创建一个部分类来按照你的意愿弯曲它。

关于LINQ-to-Entities,具有相同列名的两个 View 之间关联的不明确的列名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9199787/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com