开发者社区> 问答> 正文

单个存储过程中的多个模型

我正在使用SQL Server数据库和dapper。

作为单个存储库方法的一部分,我想从多个表中选择数据(请注意,我的两个表在没有相互关联的地方)。

我有两张桌子

User:名称varchar(max),代码varchar(max),街道varchar(max)
Student:姓名varchar(max),电话号码int,地址varchar(max)

我有一个存储库方法,GetDetails()使用它可以执行存储过程,并从单个方法中获取详细信息。

我的存储过程采用两个参数作为输入:

CREATE PROCEDURE GetDetails
    (@Code VARCHAR(MAX), @Number INT)
AS
    SELECT * FROM User WHERE code = @Code 
    SELECT * FROM Student WHERE number = @Number

我的存储库方法:

执行上面显示的存储过程 在Details模型中填写细节 详细模型如下所示:

public USER user { get; set; }
Public string Name { get; set; }
public string address { get; set; }

调试时,它不填写用户模型-它返回为空,但Name和address越来越充满。当我从SQL Server Management Studio执行存储过程时,它将返回预期的结果。

请说明用户对象失败的原因,而不是在我的“详细信息”模式下使用“名称”和“街道”代替“用户”。由于名称已存在于详细信息模型中,所以我无法区分它是学生还是用户。

请建议一些方法来处理此返回的SQL Server表的多个结果集。

展开
收起
祖安文状元 2020-01-04 15:58:31 452 0
0 条回答
写回答
取消 提交回答
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载

相关实验场景

更多