C# 在列表中添加列表
出于某种原因,我们被要求使用一个存储过程,并使用实体框架调用这个存储过程。以下是示例存储过程:C# 在列表中添加列表,c#,sql,sql-server,linq,entity-framework,C#,Sql,Sql Server,Linq,Entity Framework,出于某种原因,我们被要求使用一个存储过程,并使用实体框架调用这个存储过程。以下是示例存储过程: CREATE SampleStoredProcedure () AS SELECT TOP 10 SiteId, SiteName, DayOfTheWeek, OpenTime, CloseTime FROM Sites s, BusinessHours b WHERE s.SiteId = b.SiteId Group By SiteId, SiteName, D
CREATE SampleStoredProcedure () AS
SELECT TOP 10 SiteId, SiteName, DayOfTheWeek, OpenTime, CloseTime
FROM Sites s, BusinessHours b
WHERE s.SiteId = b.SiteId
Group By SiteId, SiteName, DayOfTheWeek, OpenTime, CloseTime
这些站点在另一个具有以下示例模式的表中有营业时间,其中一个站点可以有5个对应于周一到周五操作的营业时间条目
CREATE TABLE [dbo].[BusinessHours](
[Id] [int] IDENTITY(1,1) NOT NULL,
[SiteId] [int] NOT NULL,
[DayOfTheWeek] [int] NOT NULL,
[OpenTime] [time](7) NOT NULL,
[CloseTime] [time](7) NOT NULL,
问题是,数据库的设计很差,因此Sites.SiteId不是主键,您不能将其作为BusinessHours.SiteId的FK引用
现在,在服务器上,我希望有一个映射如下的对象:
IEnumerable<SampleStoredProcedure_Result> test = dbContext.SampleStoredProcedure
IEnumerable test=dbContext.sampleStoredProcess
我想将此示例存储过程的结果映射为:
Class Result {
public int SiteId {get; set;}
public int SiteName {get; set;}
IEnumerable<BusinessHours> BusinessHours { get; set; }
}
class Result {
public int SiteId {get; set;}
public int SiteName {get; set;}
IEnumerable<BusinessHours> BusinessHours { get; set; } }
}
类结果{
public int SiteId{get;set;}
public int SiteName{get;set;}
IEnumerable BusinessHours{get;set;}
}
除了暴力方法,我不知道如何有效地编写代码
我想将此示例存储过程的结果映射为:
Class Result {
public int SiteId {get; set;}
public int SiteName {get; set;}
IEnumerable<BusinessHours> BusinessHours { get; set; }
}
class Result {
public int SiteId {get; set;}
public int SiteName {get; set;}
IEnumerable<BusinessHours> BusinessHours { get; set; } }
}