Если я понимаю, что вы пытаетесь сделать, то это очень сложно сделать, если между сайтами нет жесткого контракта. Но пока код, который имеет дело с обоими, близок, это обычно не проблема, например:
string DoSomething(string username, string value) {
var dict = new Dictionary<string,string> {
{ nameof(username), username },
{ nameof(value), value },
};
SomeHelper.ExecuteSP("sp_somesp", dict);
}
Обратите внимание, что то же самое можно также сделать с помощью анонимных типов и отражений, например:
string DoSomething(string username, string value) {
SomeHelper.ExecuteSP("sp_somesp", new { username, value });
}
, что в значительной степени соответствует подходу "Dapper" (за исключением того, что в Dapper встроена большая оптимизация, чтобы отражение не пострадало).