gpt4 book ai didi

c# - EF 4.1 在生成的 sql 中使用了错误的模式

转载 作者:行者123 更新时间:2023-11-30 18:02:23 24 4
gpt4 key购买 nike

我是 EF 的新手,我不知道自己做错了什么。我使用 EF 4.1“数据库优先”为现有数据库(我无法更改)创建模型。我在数据库中需要的所有表都在一个特定的模式中,对于这个问题我称之为“my_schema”。在 edmx 设计器文件的主要属性中,我将数据库架构名称设置为“my_schema”。当我检查 edmx 文件的原始 XML 时,它似乎具有正确的模式映射

例如

<EntitySet Name="Events" EntityType="MyModel.Store.Events" store:Type="Tables" Schema="my_schema" />

然而,当我访问 DbContext 类上的事件实体集时生成的 SQL 仍然是:

SELECT ....
FROM dbo.Events

我不确定它是否有任何区别,但我正在使用 ADO.net DBContextGenerator 生成我的类。

有谁知道我做错了什么

最佳答案

好吧,我现在已经怀疑了,这归结为我对 EF 工作原理的无知。我正在向我的 DbContext 传递一个普通的 ADO.net 连接字符串,这似乎将其转换为代码优先模式。因此,我的 edmx 模型中的任何设置和配置都被忽略了,它正在寻找模型类的属性。一旦我将其更改为使用包含对模型元数据文件的引用的 EF 字符串,它就会起作用。现在看起来很明显,不知道我是如何期望它神奇地知道模型元数据的。

关于c# - EF 4.1 在生成的 sql 中使用了错误的模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8139722/

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