用于实体框架模型的通用Getter
本文关键字:Getter 模型 实体 框架 用于 | 更新日期: 2023-09-27 18:08:38
使用实体框架v4,我想在c#中创建一个通用的getter为我的模型类。我不知道这是否可能,以及如何实现它。
我面临的问题是如何映射属性名称在Linq查询
例如:public static List<T> GetModelsByAttribute<T,R>(R attribute, string attributeName)
{
return new OracleTestConnection().T.Where(d => d.attributeName == att).ToList();
}
提前感谢
泛型定义了一个类型,而您正在尝试将其用作属性。您最好的选择可能是尝试使用反射(我想不出其他方法可以通过名称获得属性)。
public static List<T> GetModelsByAttribute<T,R>(string propertyName, R attribute, string attributeName) where T : YourAttributeClass
{
var connection = new OracleTestConnection();
var property = (List<T>)connection.GetType().GetProperty(propertyName).GetValue(connection, null);
return property.Where(d => d.attributeName == att).ToList(); // assuming your class YourAttributeClass has attributeName property
}
在这种情况下,您将传递一个属性名称,并且假设该属性派生自YourAttributeClass,您可以在LINQ中引用它的属性。