c# - Mysql EF6 C#中如何根据存储过程生成复杂类型
问题描述
我正在尝试通过 Visual Studio 向导生成复杂类型,但是当我尝试调用需要传递参数的存储过程时,向导不允许我传递它们。
这是我的第一个问题,但这还不是全部,我更改了程序,从它们中删除了传递参数以直接调用,我得到以下信息:
所以它不会生成复杂类型的字段。我怎么解决这个问题?
解决方案
我可以回答你的第一个问题。在我最近的一个项目中,我也面临同样的问题。这是我解决它的方法。
在 MySQL 中创建一个视图,其中包含您从存储过程返回的相同列名和列类型。检查下面的示例。
存储过程:spGetChartData
BEGIN
SELECT A.ScAnSection, COALESCE(A.ScAnAnswer1, -1) AS ScAnAnswer1, A.ScAnBaselineFinal
FROM schooolanswer A
WHERE A.ScAnAcademicYear = 2018
AND A.ScAnSchoolId = 10;
END
查看:vwGetChartData
select 'ScAnSection' AS `ScAnSection`,1 AS `ScAnAnswer1`,1 AS `ScAnBaselineFinal`
现在导入实体框架中的存储过程和视图。然后从模型浏览器中,编辑您的存储过程并在“返回集合”部分中选择“实体”。从下拉列表中,选择与您的存储过程对应的视图。
希望这可以帮助您解决问题
推荐阅读
- python - 如何用 %20 替换空格?
- python - Networkx 用于在两条边之间绘制边
- java - 创建没有密码的jks文件
- java - 将 JPanel 的一个元素锁定到位
- angular - Angular如何用默认值的自定义对象填充数组
- powershell - Nagios - Powershell 外部脚本错误输出
- python - Pandas .apply lamda 函数返回 NaN
- php - WordPress apache错误伪造版本/无效参数
- javascript - 每当我在一天左右后开始做出反应并尝试启动它时都会出错
- azure-active-directory - 将社交帐户从 Auth0 迁移到 Azure B2C