我正在学习MVC4。
我的问题是这个。当从存储过程中查询数据时,MVC 模型是否可以提供多个记录集?
所以让我添加一些上下文。在我的数据库中,我有 2 个表和一个存储过程,定义如下:
CREATE TABLE [dbo].[RnDParent](
[ParentID] [int] IDENTITY(1,1) NOT NULL,
[Name] [varchar](50) NOT NULL,
CONSTRAINT [PK_RnDParent] PRIMARY KEY CLUSTERED
(
[ParentID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
CREATE TABLE [dbo].[RnDChild](
[ChildID] [int] IDENTITY(1,1) NOT NULL,
[ParentID] [int] NOT NULL,
[Label] [varchar](50) NOT NULL,
[Value] [money] NOT NULL,
CONSTRAINT [PK_RnDChild] PRIMARY KEY CLUSTERED
(
[ChildID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
CREATE PROCEDURE Proc_RnDProcedure_GetParentByID
@ParentID int
AS
BEGIN
SELECT [ParentID]
,[Name]
FROM [PriceCal3].[dbo].[RnDParent]
WHERE [ParentID] = @ParentID
SELECT [ChildID]
,[ParentID]
,[Label]
,[Value]
FROM [PriceCal3].[dbo].[RnDChild]
WHERE [ParentID] = @ParentID
END
GO
然后,我创建了一个 MVC4 项目并使用 ADO.Net 实体数据模型控件创建模型,选择存储过程 Proc_RnDProcedure_GetParentByID 作为我要使用的对象。
连接字符串的 multipleactiveresultsets 键设置为 True;
当我查看存储过程模型的代码时,它的定义如下。
namespace RnDMVC4Project.Models
{
using System;
public partial class Proc_RnDProcedure_GetParentByID_Result
{
public int ParentID { get; set; }
public string Name { get; set; }
}
}
Child 表中的结果没有对记录集的引用。
由于此类是自动生成的,是否可以包含子表中的记录?如果是的话,我错过了哪一块拼图?
预先感谢您的任何帮助。