Cybercrux

Everything is achievable through technology

Dapper

You’d have to do it a little differently. In Dapper, it matches on convention AKA property or field names being identical to SQL parameters. So, assuming you had a MyObject:

public class MyObject
{
public int A { get; set; }

public string B { get; set; }
}
And assuming processList = List, You’d want to do this

foreach (var item in processList)
{
string processQuery = “INSERT INTO PROCESS_LOGS VALUES (@A, @B)”;
connection.Execute(processQuery, item);
}
Note that the MyObject property names A and B match the SQL parameter names @A and @B.

If you don’t want to rename objects, you can use anonymous types to do the mappings instead of concrete types:

foreach (var item in processList)
{
string processQuery = “INSERT INTO PROCESS_LOGS VALUES (@A, @B)”;
connection.Execute(processQuery, new { A = item.A, B = item.B });
}
EDIT:

Per Marc Gravell’s comment, you can also have Dapper do the loop for you:

string processQuery = “INSERT INTO PROCESS_LOGS VALUES (@A, @B)”;
connection.Execute(processQuery, processList);

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s