I have a SQL View that looks like this. I want to use this view in Visual Studio C# BUT parameterize the date field. I can't group on that date field because there could be 20 different dates in, say, December and that throw the counts off. How do I use the view in Linq but have MeasureDate as a parameterized field? Not even sure this makes sense.
SELECT TOP (100) PERCENT CAST(MONTH(dbo.HH_PtCalcium.MeasureDate) AS int) AS themonth,
SUM(CASE WHEN calcrisk = 'High' THEN 1 ELSE 0 END) AS highcnt,
SUM(CASE WHEN calcrisk = 'VHigh' THEN 1 ELSE 0 END) AS veryhighcnt,
SUM(CASE WHEN calcrisk = 'Mod' THEN 1 ELSE 0 END) AS modcnt,
SUM(CASE WHEN calcrisk = 'Low' THEN 1 ELSE 0 END) AS lowcnt,
SUM(CASE WHEN calcrisk = 'Ideal' THEN 1 ELSE 0 END) AS normlcnt,
SUM(CASE WHEN HH_Demographics.Sex = 'Male' THEN 1 ELSE 0 END) AS malecnt,
SUM(CASE WHEN HH_Demographics.Sex = 'Female' THEN 1 ELSE 0 END) AS femalecnt,
SUM(CASE WHEN IncFinding = 'Yes' THEN 1 ELSE 0 END) AS incidentalcount,
COUNT(CAST(MONTH(dbo.HH_PtCalcium.MeasureDate) AS int))
AVG(dbo.HH_PtCalcium.PtAge) AS aveage,
SUM(CASE WHEN HH_ScreeningSurvey.MedChol = 'Yes' THEN 1 ELSE 0 END) AS cholcount,
SUM(CASE WHEN (calcrisk = 'VHigh' OR calcrisk = 'High' OR calcrisk = 'Mod') AND HH_ScreeningSurvey.medchol <> 'Yes' THEN 1 ELSE 0 END) AS trmtcount
FROM dbo.HH_PtCalcium INNER JOIN
dbo.HH_Demographics ON dbo.HH_PtCalcium.PatientMRN = dbo.HH_Demographics.PatientMRN INNER JOIN
dbo.HH_ScreeningSurvey ON dbo.HH_PtCalcium.PatientMRN = dbo.HH_ScreeningSurvey.PatientMRN AND
dbo.HH_PtCalcium.MeasureDate = dbo.HH_ScreeningSurvey.SurveyDate
WHERE (dbo.HH_PtCalcium.MeasureDate >= '11/1/2013')
GROUP BY CAST(MONTH(dbo.HH_PtCalcium.MeasureDate) AS int)
ORDER BY themonth