我想使用泛型将记录加载到我的dbcontext缓存中。我正在使用下面的代码。C#实体框架5.0通用LINQ
_Context.Set<T>().Where(R => (int)R.GetType().GetProperty("Id").GetValue(R) == id).Load();
此代码抛出下面的错误,我似乎无法弄清楚如何绕过它。
System.NotSupportedException:LINQ to Entities不能识别方法'System.Object GetValue(System.Object)'方法,并且此方法无法转换为存储表达式。
是我在做什么可能或有另一种方式。
如果您有基本实体类型并添加特征'where T:BaseEntity',这可能会起作用。那么你可以使用'R.ID'。 –
Unforuntaley我需要使用其中T:类来访问dbset一般 –
我也发现,我可以使用下面的代码,它似乎将记录添加到本地缓存,不知道这是做正确的方式。 _Context.Set().Find(id); –