Reputation: 19443
Using Dapper, how can I get the value of a column within a table dynamically?
What I have:
string tableName = "Table1";
int itemId = 1;
string columName = "MyBitColumn";
var query = string.Format("select {0} from {1} where {1}Id = @itemId", columnName, tableName);
var entity = conn.Query(query, new { itemId }).FirstOrDefault();
// I'd like something like this...
bool val = entity[columnName] as bool; // returns true or false, given that "MyBitColumn" is a bit in my sql db
Thanks!
Upvotes: 1
Views: 1904
Reputation: 1063684
You can cast the entity to an IDictionary<string, object>
and access by name:
var entity = (IDictionary<string, object>) ... // your code
if((bool)entity[column name]) { ... }
Upvotes: 3