Entity Framework 如何从存储过程创建 return 模型?
How does Entity Framework creates a return model from a stored procedure?
我想了解 EF 如何从存储过程创建 return 模型。
我知道如何获取 return 模型,甚至知道如何对其进行自定义,但我找不到任何文档或解释来说明 EF 如何真正从复杂的 SP 中获取 Return 模型。
我的意思是,创建模型时是否需要实际 运行 SP? (我猜不是,它怎么知道要使用什么参数)。
系统 table 中是否有包含 return 类型的任何元数据?
它是否以某种方式使用执行计划?
如有任何见解,我们将不胜感激。
为了获取存储过程返回的类型,EntityFramework 运行 SP。
嗯,如果运行SP有错误,那么EF就获取不到返回的类型,然后EF判断的是int类型。了解 SP 的问题并不总是那么容易。
好吧,我找到了理解这一点的方法。这是由 运行“SQL Server Profiler”工具完成的,您可以在其中跟踪 SP 的 EF 运行 方式,因此您可以理解错误是什么。
对了,跟着EF跑的SP,很有意思。你可以从中学到很多!
如果您不熟悉 SQL Server Profiler 工具,您可以阅读它 here。在这里你可以看到一个如何使用它的例子:
How to trace with SQL Server profiler
我想了解 EF 如何从存储过程创建 return 模型。 我知道如何获取 return 模型,甚至知道如何对其进行自定义,但我找不到任何文档或解释来说明 EF 如何真正从复杂的 SP 中获取 Return 模型。 我的意思是,创建模型时是否需要实际 运行 SP? (我猜不是,它怎么知道要使用什么参数)。 系统 table 中是否有包含 return 类型的任何元数据? 它是否以某种方式使用执行计划?
如有任何见解,我们将不胜感激。
为了获取存储过程返回的类型,EntityFramework 运行 SP。
嗯,如果运行SP有错误,那么EF就获取不到返回的类型,然后EF判断的是int类型。了解 SP 的问题并不总是那么容易。
好吧,我找到了理解这一点的方法。这是由 运行“SQL Server Profiler”工具完成的,您可以在其中跟踪 SP 的 EF 运行 方式,因此您可以理解错误是什么。
对了,跟着EF跑的SP,很有意思。你可以从中学到很多!
如果您不熟悉 SQL Server Profiler 工具,您可以阅读它 here。在这里你可以看到一个如何使用它的例子: How to trace with SQL Server profiler