【问题标题】:How to generate complex type according to stored procedure in Mysql EF6 C#Mysql EF6 C#中如何根据存储过程生成复杂类型
【发布时间】:2019-03-09 09:38:39
【问题描述】:

我正在尝试通过 Visual Studio 向导生成复杂类型,但是当我尝试调用需要传递参数的存储过程时,向导不允许我传递它们。

这是我的第一个问题,但还不是全部,我更改了程序,从它们中删除了传递参数以直接调用,我得到以下结果:

因此它不会生成复杂类型的字段。我怎么解决这个问题?

【问题讨论】:

  • 您是否能够根据提供的答案解决您的问题?如果您发现任何其他解决方法,我也很想知道。
  • 感谢关注,但这个解决方案不是我想要的。在我问问题之前我已经使用过这个解决方案,我需要一些动态解决方案

标签: c# mysql .net entity-framework visual-studio-2017


【解决方案1】:

我可以回答你的第一个问题。在我最近的一个项目中,我也面临同样的问题。这是我解决它的方法。

在 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`

现在导入实体框架中的存储过程和视图。然后从模型浏览器中,编辑您的存储过程并在“返回集合”部分中选择“实体”。从下拉列表中选择与您的存储过程对应的视图。

希望这可以帮助您解决问题

【讨论】:

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