是否可以在泛型方法中设置静态属性?
例如:我的所有实体都有一些共享列(CreateDateTime
,CreateUser
等) - 我该如何实现该方法?
public virtual void Insert(T entity)
{
Dbset.Add(entity);
Context.SaveChanges();
}
答案 0 :(得分:1)
您需要拥有一个BaseEntity
类,您的所有实体都来自该类,并向其添加共享属性。
public class BaseEntity
{
public DateTime CreatedDateTime { set; get;}
public string CreatedUser { set; get;}
}
public class YourEntity : BaseEntity
{
public int Id { set; get;}
}
并为您的通用方法添加约束,以便设置CreatedDateTime
和CreatedUser
public virtual void Insert(T entity) where T : BaseEntity
{
entity.CreatedDateTime = DateTime.Now;
entity.CreatedUser = CURRENT_USER;
Dbset.Add(entity);
Context.SaveChanges();
}