ahmed_sa Ответов: 0

Как показывают максимум, основанные на кодсотрудника, branchcode)


Проблема
Как получить максимальное значение на основе составного ключа branchCode,EmployeeId
я работаю дальше asp.net ядро 2.1 visual studio 2017
Как получить максимальное число на код филиала не для всех филиалов ?

repository interface

public interface IrepositoryTab<T> where T : class
        {
            IEnumerable<T> GetAll();
        }


repository implementaion

public class RepositoryTab<T> : IrepositoryTab<T> where T : class
    {
        protected TabDbContext db { get; set; }
        private DbSet<T> dbSet;

        public RepositoryTab(TabDbContext Tabdb)
        {
            db = Tabdb;
            dbSet = db.Set<T>();
        }
        public IEnumerable<T> GetAll()
        {
            return dbSet.ToList();
        }
        }

public class Employee
    {
  
        [DatabaseGenerated(DatabaseGeneratedOption.None)]
        public int EmployeeId { get; set; }
        public int BranchCode { get; set; }
        public string EmployeeName { get; set; }
        public int EmployeeAge { get; set; }

    }

modelBuilder.Entity<Employee>()
          .HasKey(t => new { t.EmployeeId, t.BranchCode });


Что я уже пробовал:

public class EmployeeController : Controller
   {

       private readonly IrepositoryTab<Employee> _repository;
       public EmployeeController(IrepositoryTab<Employee> emp)
       {
           this._repository = emp;
       }

       public async Task<IActionResult> Create(int? id)
       {
           var model = new Employee();
           if (id == null)
           {

               model.EmployeeId = _repository.GetAll().Max(Employee => Employee.EmployeeId);


           }
           }

Dave Kreskowiak

Зачем тебе это нужно? В ситуации, которую я вижу в вашем коде, вы просто создадите запись сотрудника со всеми соответствующими полями, а затем получите обратно сгенерированный идентификационный номер базы данных.

0 Ответов