Linq To Entity 或得表的最大ID 值
2014-05-14 来自:提声流夏。 2 人回应

最近开发一个项目 数据库建立的时候 每张表的主键为int型 但是没设置为自动增长列

因此每次在新增数据的时候 都需要先取得表的最大ID

  public static int GetMaxID_TcProductionBase()
    {
        var MaxID = db.TcProductionBase.Max(c => c.ID);
        return MaxID == 0 ? 1 : MaxID;
    }

其中红色为生成的表的类 每个表都要生成一个GetMaxID_XXXX的方法

请问有什么方式 可以只写一个 GetMaxID方法 然后传入对应的表类别 获取对应的表的最大ID呢

2014-05-23 来自:未鬼

public static class xxxxx

{

    public static int MaxID<T>(this DbSet<T> dbSet)

   {

            return dbSet.Max(o => o.ID);

    }

}

 

试试

2014-05-17 来自:忽然之间

我用的是ObjectContext,

在IRepository中创建 接口:

IQueyable<TEntity> GetTable<TEntity>();

在Entities中实现接口:

IQueryable<TEntity> IRepository.GetTable<TEntity>()
{
return this.lbc.CreateQuery<TEntity>("[" + typeof(TEntity).Name + "]");
}

在Repository中实现以上方法:

public static int GetMaxID<T>()

{

  return this.lbc.GetTable<T>().Max(s => s.ID);

}

您的回应

你还未登陆,不能回应!登陆