【发布时间】:2015-01-29 01:02:29
【问题描述】:
我的问题的简单描述:假设我有两个类,Class1 和 Class 2,它们都实现了相同的接口,具有以下字段:
字符串字段A;
字符串字段B;
由于遗留原因,Class1 将 FieldA 用于特定目的,这与 Class2 使用它的方式相反。事实上,Class2 使用 FieldB 的数据与 Class1 使用 FieldA 的数据相同,反之亦然:字段在类上打开。
在将 LINQ 查询的 Where 子句传递给实体框架之前,我需要能够指定要在左侧使用的字段。如果我通过 GetProperties() 使用反射,它只是在评估之前将 Func 传递给数据库,我得到一个异常。如何动态决定使用哪个字段?
【问题讨论】:
-
使用自定义属性装饰您的字段。在执行点,从反射before执行中获取属性,并确定谁是谁,并将正确的属性值传递给方法。希望这会有所帮助!
标签: c# linq entity-framework