我该如何访问
instance
的Id
属性? 我有以下代码:public void InsertOrUpdate(Book book)
{
if (book.Id == default(int)) {
现在我想让它通用:
public class TheRepository<T> : IRepository<T> where T : class
{
public void InsertOrUpdate(T instance)
{
if (instance.Id == default(int))//How can I access Id here
{
context.Set<T>().Add(instance);
我搜索了类似的帖子,我认为我应该写像 instance.GetType().GetProperty("Id").GetValue()
这样的东西,但我不知道具体如何操作?
IRepository
的接口了,这是Entity Framework。而且我想将其应用于TheRepository
而不是Book
。 - user5032790IRepository
接口中还是创建一个新的接口? - user5032790:IHaveId
,前提是每个实体都有一个名为Id
的属性,这是实体的主键。然后,在where
子句中,您只需在末尾添加此接口即可。请从我的答案开始阅读,如果有不清楚的地方,请让我知道,以便进行说明。谢谢! - Christos