有一个存储过程,同时查询三张表,如果将查询结果存到三个不同的实体类中去?
三个实体类的名称分别是:
X_CMS_Node
X_CMS_Info
X_CMS_Info_Base
非常感谢。/****** Object: StoredProcedure [dbo].[X_Test_Read] Script Date: 11/12/2012 15:03:38 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
ALTER PROCEDURE [dbo].[X_Test_Read]
@PageSize INT = 10
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
SELECT TOP (@PageSize)
[Extent1].[pkID] AS [pkID],
[Extent1].[ModeID] AS [ModeID],
[Extent1].[ModelID] AS [ModelID],
[Extent1].[NodeID] AS [NodeID],
[Extent1].[SortID] AS [SortID],
[Extent1].[Title] AS [Title],
[Extent1].[AuthorID] AS [AuthorID],
[Extent1].[Author] AS [Author],
[Extent1].[DraftID] AS [DraftID],
[Extent1].[Draft] AS [Draft],
[Extent1].[EditorID] AS [EditorID],
[Extent1].[Editor] AS [Editor],
[Extent1].[PassID] AS [PassID],
[Extent1].[Pass] AS [Pass],
[Extent1].[PublishID] AS [PublishID],
[Extent1].[Publish] AS [Publish],
[Extent1].[Click] AS [Click],
[Extent1].[ClickView] AS [ClickView],
[Extent1].[ClickTime] AS [ClickTime],
[Extent1].[DateTime] AS [DateTime],
[Extent1].[DateTimeComment] AS [DateTimeComment],
[Extent1].[flagSubmit] AS [flagSubmit],
[Extent1].[flagPass] AS [flagPass],
[Extent1].[flagPublish] AS [flagPublish],
[Extent1].[flagPublishDate] AS [flagPublishDate],
[Extent1].[flagStatus] AS [flagStatus],
[Extent2].[pkID] AS [pkID1],
[Extent2].[SiteID] AS [SiteID],
[Extent2].[ModeID] AS [ModeID1],
[Extent2].[ModelID] AS [ModelID1],
[Extent2].[SortID] AS [SortID1],
[Extent2].[ParentID] AS [ParentID],
[Extent2].[LevelID] AS [LevelID],
[Extent2].[Name] AS [Name],
[Extent2].[NameAS] AS [NameAS],
[Extent2].[Code] AS [Code],
[Extent2].[Type] AS [Type],
[Extent2].[Tag] AS [Tag],
[Extent2].[Folder] AS [Folder],
[Extent2].[Url] AS [Url],
[Extent2].[Keyword] AS [Keyword],
[Extent2].[Memo] AS [Memo],
[Extent2].[Icon] AS [Icon],
[Extent2].[Photo] AS [Photo],
[Extent2].[Click] AS [Click1],
[Extent2].[ClickView] AS [ClickView1],
[Extent2].[ClickTime] AS [ClickTime1],
[Extent2].[flagStatus] AS [flagStatus1],
[Extent3].[pkID] AS [pkID2],
[Extent3].[InfoID] AS [InfoID],
[Extent3].[TitleSub] AS [TitleSub],
[Extent3].[TitleCustom] AS [TitleCustom],
[Extent3].[TitlePhoto] AS [TitlePhoto],
[Extent3].[TitleStyle] AS [TitleStyle],
[Extent3].[Text] AS [Text],
[Extent3].[Summary] AS [Summary],
[Extent3].[Pager] AS [Pager],
[Extent3].[Keyword] AS [Keyword1],
[Extent3].[Tag] AS [Tag1],
[Extent3].[Alert] AS [Alert],
[Extent3].[Source] AS [Source],
[Extent3].[SourceID] AS [SourceID],
[Extent3].[SourceUrl] AS [SourceUrl],
[Extent3].[PhotoGuide] AS [PhotoGuide],
[Extent3].[PhotoDefault] AS [PhotoDefault],
[Extent3].[PhotoList] AS [PhotoList],
[Extent3].[VideoList] AS [VideoList],
[Extent3].[AudioList] AS [AudioList],
[Extent3].[DocList] AS [DocList],
[Extent3].[FileList] AS [FileList],
[Extent3].[TemplateFile] AS [TemplateFile],
[Extent3].[Html] AS [Html],
[Extent3].[Url] AS [Url1],
[Extent3].[PassWord] AS [PassWord],
[Extent3].[flagStatus] AS [flagStatus2]
FROM [dbo].[X_CMS_Info] AS [Extent1]
LEFT OUTER JOIN [dbo].[X_CMS_Node] AS [Extent2] ON [Extent1].[NodeID] = [Extent2].[pkID]
LEFT OUTER JOIN [dbo].[X_CMS_Info_Base] AS [Extent3] ON [Extent1].[pkID] = [Extent3].[InfoID]
ORDER BY [Extent1].[SortID] DESC, [Extent1].[pkID] DESC
END
三个实体类的名称分别是:
X_CMS_Node
X_CMS_Info
X_CMS_Info_Base
非常感谢。/****** Object: StoredProcedure [dbo].[X_Test_Read] Script Date: 11/12/2012 15:03:38 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
ALTER PROCEDURE [dbo].[X_Test_Read]
@PageSize INT = 10
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
SELECT TOP (@PageSize)
[Extent1].[pkID] AS [pkID],
[Extent1].[ModeID] AS [ModeID],
[Extent1].[ModelID] AS [ModelID],
[Extent1].[NodeID] AS [NodeID],
[Extent1].[SortID] AS [SortID],
[Extent1].[Title] AS [Title],
[Extent1].[AuthorID] AS [AuthorID],
[Extent1].[Author] AS [Author],
[Extent1].[DraftID] AS [DraftID],
[Extent1].[Draft] AS [Draft],
[Extent1].[EditorID] AS [EditorID],
[Extent1].[Editor] AS [Editor],
[Extent1].[PassID] AS [PassID],
[Extent1].[Pass] AS [Pass],
[Extent1].[PublishID] AS [PublishID],
[Extent1].[Publish] AS [Publish],
[Extent1].[Click] AS [Click],
[Extent1].[ClickView] AS [ClickView],
[Extent1].[ClickTime] AS [ClickTime],
[Extent1].[DateTime] AS [DateTime],
[Extent1].[DateTimeComment] AS [DateTimeComment],
[Extent1].[flagSubmit] AS [flagSubmit],
[Extent1].[flagPass] AS [flagPass],
[Extent1].[flagPublish] AS [flagPublish],
[Extent1].[flagPublishDate] AS [flagPublishDate],
[Extent1].[flagStatus] AS [flagStatus],
[Extent2].[pkID] AS [pkID1],
[Extent2].[SiteID] AS [SiteID],
[Extent2].[ModeID] AS [ModeID1],
[Extent2].[ModelID] AS [ModelID1],
[Extent2].[SortID] AS [SortID1],
[Extent2].[ParentID] AS [ParentID],
[Extent2].[LevelID] AS [LevelID],
[Extent2].[Name] AS [Name],
[Extent2].[NameAS] AS [NameAS],
[Extent2].[Code] AS [Code],
[Extent2].[Type] AS [Type],
[Extent2].[Tag] AS [Tag],
[Extent2].[Folder] AS [Folder],
[Extent2].[Url] AS [Url],
[Extent2].[Keyword] AS [Keyword],
[Extent2].[Memo] AS [Memo],
[Extent2].[Icon] AS [Icon],
[Extent2].[Photo] AS [Photo],
[Extent2].[Click] AS [Click1],
[Extent2].[ClickView] AS [ClickView1],
[Extent2].[ClickTime] AS [ClickTime1],
[Extent2].[flagStatus] AS [flagStatus1],
[Extent3].[pkID] AS [pkID2],
[Extent3].[InfoID] AS [InfoID],
[Extent3].[TitleSub] AS [TitleSub],
[Extent3].[TitleCustom] AS [TitleCustom],
[Extent3].[TitlePhoto] AS [TitlePhoto],
[Extent3].[TitleStyle] AS [TitleStyle],
[Extent3].[Text] AS [Text],
[Extent3].[Summary] AS [Summary],
[Extent3].[Pager] AS [Pager],
[Extent3].[Keyword] AS [Keyword1],
[Extent3].[Tag] AS [Tag1],
[Extent3].[Alert] AS [Alert],
[Extent3].[Source] AS [Source],
[Extent3].[SourceID] AS [SourceID],
[Extent3].[SourceUrl] AS [SourceUrl],
[Extent3].[PhotoGuide] AS [PhotoGuide],
[Extent3].[PhotoDefault] AS [PhotoDefault],
[Extent3].[PhotoList] AS [PhotoList],
[Extent3].[VideoList] AS [VideoList],
[Extent3].[AudioList] AS [AudioList],
[Extent3].[DocList] AS [DocList],
[Extent3].[FileList] AS [FileList],
[Extent3].[TemplateFile] AS [TemplateFile],
[Extent3].[Html] AS [Html],
[Extent3].[Url] AS [Url1],
[Extent3].[PassWord] AS [PassWord],
[Extent3].[flagStatus] AS [flagStatus2]
FROM [dbo].[X_CMS_Info] AS [Extent1]
LEFT OUTER JOIN [dbo].[X_CMS_Node] AS [Extent2] ON [Extent1].[NodeID] = [Extent2].[pkID]
LEFT OUTER JOIN [dbo].[X_CMS_Info_Base] AS [Extent3] ON [Extent1].[pkID] = [Extent3].[InfoID]
ORDER BY [Extent1].[SortID] DESC, [Extent1].[pkID] DESC
END
对这三个类 需要的数据 直接从dt中取
例如:
string Extent1.pkID =dt.Rows[0]["pkID"];//将第一行的PKID列的值赋给字符串
如果是很多数据的话 需要存放在一个 DataTable 中 需要用到循环
DataTable dtExtent1 =new DataTable();
foreach(DataRow dr in dt.Rows)
{
DataRow newRow=dtExtent1.NewRow();
newRow["pkID"]=dr["pkID"].ToString();
dtExtent1.Rows.Add(newRow);
}
上面的步骤就是把你需要的数据 分别存放在一个表中
三个类可以创建3个表 每个类对应一个表 存放对应的数据
不知道 这样给你提示没有
cmd.CommandType = CommandType.StoredProcedure;
foreach (SqlParameter pa in parameters)
{
cmd.Parameters.Add(pa);
}
DataSet ds = new DataSet();
SqlDataAdapter dp = new SqlDataAdapter(cmd);
dp.Fill(ds);若你的存储过程中查询3个表,SqlDataAdapter 会自动出现3个表在dataset中