我有List
类型String
,其中的值与我的实体类中的属性具有相同的名称,
例如,
我有List<string>
List<String> list = new List<String>(new String[]{ "Name", "Age", "Value" });
现在我必须使用LinqtoEntities
使用列表中的值来查询我的表格
像这样:
db.Mytable.Where(z=>z.MyListValue1==SomeValue && z.MylistValue2==SomeValue &&
z.MyListValue3==SomeValue)
这可能吗?或者还有其他解决方法吗?
因为我的List<string>
值与我的类属性相同
我正在使用数据库FIRST方法与EF5,Mvc5和Oracle11g
答案 0 :(得分:2)
您可以使用Contains
:
db.Mytable.Where(z => list.Contains(z.YourPoperty))
答案 1 :(得分:0)
该列表包含您要比较的属性名称?从来没有这样做过,所以没有例子,但我会这样做:
动态linq是实现它的一种方式https://dynamiclinq.codeplex.com/
另一个是自己做一些反思
最后一个是尝试使用db.Entry()
,然后使用Property()
方法https://msdn.microsoft.com/en-us/library/system.data.entity.infrastructure.dbentityentry.property(v=vs.113).aspx#M:System.Data.Entity.Infrastructure.DbEntityEntry.Property(System.String)