How can I do something like this:
var result = db.MyTable.Where(x => x."MyProperty" == "Test" );
As you can see I want to access “MyProperty” but give the property name as a sting.
Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.
Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
Please briefly explain why you feel this question should be reported.
Please briefly explain why you feel this answer should be reported.
Please briefly explain why you feel this user should be reported.
You could use reflection
although this might work, i wouldn’t advise on doing this, why don’t pass in your where clause as an expression like:
example after comment:
consider the following type:
you see there are three properties where the name is of type string and id is of type int. now if we wrap our database context in a service like this
in our get method there is an Expression parameter that takes two generics, the first is our type x and the second is a boolean. The advantage of this approach is that we can abstract all the data context creation and only express an where clause in our code see final piece of code:
as you can see, we can build a where clause on any property or combination of properties.