我正在使用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表的多个结果集。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。