Skip to content

Instantly share code, notes, and snippets.

@KerryRitter
Created December 9, 2016 17:19
Show Gist options
  • Save KerryRitter/9850735ead2b8046cc6a8e25e9f5368f to your computer and use it in GitHub Desktop.
Save KerryRitter/9850735ead2b8046cc6a8e25e9f5368f to your computer and use it in GitHub Desktop.
dapper mapping
public class OmgDapperRules
{
public List<ProjectVersionField> GetAllForVersion(int projectVersionId)
{
using (var connection = _connectionFactory.Create())
{
var fields = connection.Query<ProjectVersionField, ProjectTemplateField, ProjectTemplateFieldType, ProjectVersionField>(@"
SELECT pvf.*, ptf.*, ptft.*
FROM [dbo].[ProjectVersionField] pvf
INNER JOIN [dbo].[ProjectTemplateField] ptf ON ptf.Id = pvf.ProjectTemplateFieldId
INNER JOIN [dbo].[ProjectTemplateFieldType] ptft ON ptft.Id = pvf.ProjectTemplateFieldId
WHERE ProjectVersionId = @projectVersionId;",
(ProjectVersionField pvf, ProjectTemplateField ptf, ProjectTemplateFieldType ptft) =>
{
pvf.ProjectTemplateField = ptf;
pvf.ProjectTemplateField.Type = ptft;
return pvf;
},
new
{
projectVersionId
});
return fields.ToList();
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment